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

Reply via email to