[
https://issues.apache.org/jira/browse/RATIS-532?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Shashikant Banerjee updated RATIS-532:
--------------------------------------
Attachment: RATIS-532.000.patch
> UnorderedAsync requests should fail instead of retrying the request in case
> of GroupMismatchException
> -----------------------------------------------------------------------------------------------------
>
> Key: RATIS-532
> URL: https://issues.apache.org/jira/browse/RATIS-532
> Project: Ratis
> Issue Type: Bug
> Components: client
> Affects Versions: 0.4.0
> Reporter: Shashikant Banerjee
> Assignee: Shashikant Banerjee
> Priority: Major
> Fix For: 0.4.0
>
> Attachments: RATIS-532.000.patch
>
>
> UnorderedAsync#sendRequestWithRetry
> {code:java}
> if (e instanceof IOException) {
> if (e instanceof NotLeaderException) {
> client.handleNotLeaderException(request, (NotLeaderException) e, false);
> } else if (!(e instanceof GroupMismatchException)) {
> client.handleIOException(request, (IOException) e, null, false);
> }
> } else {
> if (!client.getClientRpc().handleException(request.getServerId(), e,
> false)) {
> f.completeExceptionally(e);
> return;
> }
> }
> LOG.info("schedule retry for attempt #{}, policy={}, request={}",
> attemptCount, retryPolicy, request);
> client.getScheduler().onTimeout(retryPolicy.getSleepTime(), () ->
> sendRequestWithRetry(pending, client),
> LOG, () -> clientId + ": Failed~ to retry " + request);
> {code}
> Currently, in case of GroupMismatchException, it is ignored and retried as
> per the retry policy.In case as such, it should just mark the reply future to
> complete exceptionally.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)