You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by "Shashikant Banerjee (JIRA)" <ji...@apache.org> on 2019/04/22 11:39:00 UTC

[jira] [Updated] (RATIS-532) UnorderedAsync requests should fail instead of retrying the request in case of GroupMismatchException

     [ 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)