[ 
https://issues.apache.org/jira/browse/CASSGO-113?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18066955#comment-18066955
 ] 

Paolo Elefante commented on CASSGO-113:
---------------------------------------

Thanks for the feedback.
Agreed: introducing dedicated types for all currently generic server
error codes is the right approach, both for consistency and to eliminate
the TODO that has been there since the original implementation.
I have extended the PR to cover the remaining codes: ErrCodeInvalid,
ErrCodeConfig, ErrCodeCredentials, ErrCodeProtocol, ErrCodeServer,
ErrCodeSyntax, ErrCodeTruncate, ErrCodeUnauthorized.
The catch-all case and the TODO comment are now removed.

https://github.com/apache/cassandra-gocql-driver/pull/1936



> Add dedicated error types for Overloaded and Bootstrapping errors
> -----------------------------------------------------------------
>
>                 Key: CASSGO-113
>                 URL: https://issues.apache.org/jira/browse/CASSGO-113
>             Project: Apache Cassandra Go driver
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Paolo Elefante
>            Priority: Normal
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> h2. Problem
> ErrCodeOverloaded (0x1001) and ErrCodeBootstrapping (0x1002) are currently
> parsed as generic errorFrame instances.
> This prevents applications from handling these error conditions in a
> type-safe way, forcing them to rely on error message inspection or
> error code matching.
> h2. Use Case
> Some applications and wrapper libraries need to distinguish these server
> error conditions in a type-safe way, for example to implement custom
> retry, backoff, observability, or request classification logic.
> At the moment, ErrCodeOverloaded and ErrCodeBootstrapping are exposed as
> generic errorFrame values, which makes them inconsistent with other
> server errors that already have dedicated request error types.
> h2. Proposal
> Introduce dedicated error types:
> - RequestErrOverloaded
> - RequestErrBootstrapping
> These should follow the same pattern as existing error types such as:
> - RequestErrUnavailable
> - RequestErrWriteTimeout
> - RequestErrReadTimeout



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to