[
https://issues.apache.org/jira/browse/CASSGO-113?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18066739#comment-18066739
]
Bohdan Siryk commented on CASSGO-113:
-------------------------------------
[~joaoreis] Hey, can you share your thoughts on this? I personally think it is
better to have distinct types for each error code, even though there is a
workaround, at least for code consistency. Also, the workaround is very
dependent on the fact that gocql doesn't wrap error frames by
{*}fmt.Errorf(){*}, which introduces a level of complexity to driver developers
> 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
>
> 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]