You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Add Redis error classifications to Lettuce 4.0 and 5.0 - #20778
copilot/add-redis-error-classificationsopen-telemetry/opentelemetry-java-instrumentation:copilot/add-redis-error-classificationsCopy head branch name to clipboard
copilot/add-redis-error-classificationsopen-telemetry/opentelemetry-java-instrumentation:copilot/add-redis-error-classificationsCopy head branch name to clipboard
Classify confirmed Redis server errors on Lettuce 4.0 and 5.0 command and batch spans and database duration metrics. For example, retry-later details produces error.type="retry-later".
Skip leading ASCII spaces, then preserve usable ASCII prefixes verbatim, including case, punctuation, tabs, and unrestricted length. Non-ASCII or missing prefixes and client failures retain exception-class fallback; successful operations omit error.type.
Keep application exception messages and transaction results unchanged. Batches follow the terminal exception when present, otherwise use request order, with client failures taking precedence over earlier server replies.
CopilotAI
changed the title
[WIP] Add Redis server error classifications to Lettuce 4.0 and 5.0
Add Redis error classifications to Lettuce 4.0 and 5.0
Oct 20, 2026
Adds Redis server-error classification to Lettuce 4.0 and 5.0 command and batch telemetry while preserving exception-class fallback for client failures.
Changes:
Extracts validated Redis error prefixes.
Connects classification to command and batch attributes.
Adds getter tests and span/duration-metric assertions.
Initialize TESTHM with the existing hash fixture in each WRONGTYPE test. Wait for the setup command trace and clear captured telemetry before asserting the failing GET, preserving the expected contents of the other hash test.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
[Testing] Non-blocking: this assertion checks only error.type, so missing or unexpected EVAL attributes would pass. Use hasAttributesSatisfyingExactly(...) with the complete expected attributes, as required by .github/instructions/java-tests.instructions.md:140 and demonstrated by the non-ASCII EVAL test above.
[Testing] Non-blocking: this transaction assertion and the non-ASCII fallback assertion at line 354 check only error.type, so missing or unexpected database, query, and network attributes would pass. Use hasAttributesSatisfyingExactly(...) with the complete expected EVAL attributes in both tests, following .github/instructions/java-tests.instructions.md:140 and the WRONGTYPE test above.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Classify confirmed Redis server errors on Lettuce 4.0 and 5.0 command and batch spans and database duration metrics. For example,
retry-later detailsproduceserror.type="retry-later".Skip leading ASCII spaces, then preserve usable ASCII prefixes verbatim, including case, punctuation, tabs, and unrestricted length. Non-ASCII or missing prefixes and client failures retain exception-class fallback; successful operations omit
error.type.Keep application exception messages and transaction results unchanged. Batches follow the terminal exception when present, otherwise use request order, with client failures taking precedence over earlier server replies.