You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Charlie Black (JIRA)" <ji...@apache.org> on 2019/04/25 00:58:00 UTC

[jira] [Commented] (GEODE-6677) Function with timeout, isHA==true and retries can lead to issues

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

Charlie Black commented on GEODE-6677:
--------------------------------------

As a clarification on this task.    When certain settings in Geode are set it is possible that the number of retries will be infinite.

Use case 1:

{{isHA returns true}}
 {{pr-single-hop-enabled=true}}
 {{retry-attempts=-1}}

Retries forever. The first attempt is to the correct server. Every other attempt is to a random server.   

This is incorrect we should attempt to honor the docs with the -1 setting and not retrying forever.

Docs:
|Number of times to retry a client request before giving up. If one server fails, the pool moves to the next, and so on until it is successful or it hits this limit. If the available servers are fewer than this setting, the pool will retry servers that have already failed until it reaches the limit. If this is set to -1, the pool tries every available server once.|


and

Use case 2:

{{isHA returns true}}
 {{pr-single-hop-enabled=true}}
 {{retry-attempts=0}}

2 attempts. The first attempt is to the correct server. The second attempt is to a random server.

NOTE This is incorrect behavior. It should not retry.

 

> Function with timeout, isHA==true and retries can lead to issues
> ----------------------------------------------------------------
>
>                 Key: GEODE-6677
>                 URL: https://issues.apache.org/jira/browse/GEODE-6677
>             Project: Geode
>          Issue Type: Bug
>            Reporter: Charlie Black
>            Assignee: Bill Burcham
>            Priority: Major
>              Labels: SmallFeature
>
> A user can set `isHA() == true`, retries == -1, and `CLIENT_FUNCTION_TIMEOUT`.
> The timeout is currently implemented as per attempt.   The default is 10000 ms.
> The default for retries is -1.
> With the default of -1 Geode will continually attempt to call the function and ignore the expected behavior.   
>  
> The expected behavior with respect to the default of -1 that means each server will be retried once and the system should throw an exception.
> From query the exception that is thrown is for system with 2 servers when the query exceeds the time out and retry of -1:
> {{Exception in thread "main" org.apache.geode.cache.client.ServerConnectivityException: Pool unexpected socket timed out on client connection=Pooled Connection to voltron:64615: Connection[voltron:64615]@1279740095 attempt=2). Server unreachable: could not connect after 2 attempts}}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)