You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2021/11/05 06:57:00 UTC

[jira] [Commented] (GEODE-9774) Function execution on partition region does not clear networkHop on exit

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

ASF subversion and git services commented on GEODE-9774:
--------------------------------------------------------

Commit 4c43c53b6a9dda8e8af0eaf586ccc3b63fd408d0 in geode's branch refs/heads/develop from Alberto Gomez
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=4c43c53 ]

GEODE-9774: Clear networkHop variable at function execution exit (#7051)

* GEODE-9774: Clear networkHop variable at function execution exit

* GEODE-9774: Added unit test after review

> Function execution on partition region does not clear networkHop on exit
> ------------------------------------------------------------------------
>
>                 Key: GEODE-9774
>                 URL: https://issues.apache.org/jira/browse/GEODE-9774
>             Project: Geode
>          Issue Type: Bug
>          Components: functions
>            Reporter: Alberto Gomez
>            Assignee: Alberto Gomez
>            Priority: Major
>              Labels: needsTriage, pull-request-available
>
> When executing a server function on a partitioned region, if a network hop is done during the execution of the function to access data from another server, the networkHop thread local variable on the PartitionedRegion instance will be set to either 1 or 2. Nevertheless, when the function returns, the variable will not be reset leaving a wrong value in it for subsequent requests.
> As a result, subsequent requests handled by the same thread that executed the previous function will see the networkHop thread local variable with the value set previously by the function no matter if a network hop was required or not. In case of get/put/destroy/invalidate, the server will return this information to the client indicating that it should update the metadata when it should not.
> This will cause unnecessary requests from the client to update the metadata which could impact very negatively the performance of the system.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)