geode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Huynh (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (GEODE-2870) BucketMovedException during function execution may lead to client missing results
Date Wed, 03 May 2017 18:33:04 GMT

     [ https://issues.apache.org/jira/browse/GEODE-2870?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jason Huynh updated GEODE-2870:
-------------------------------
    Affects Version/s: 1.0.0-incubating.M1

> BucketMovedException during function execution may lead to client missing results
> ---------------------------------------------------------------------------------
>
>                 Key: GEODE-2870
>                 URL: https://issues.apache.org/jira/browse/GEODE-2870
>             Project: Geode
>          Issue Type: Bug
>          Components: functions
>    Affects Versions: 1.1.0
>            Reporter: Jason Huynh
>            Assignee: Jason Huynh
>
> If a function isHA and hasResult, if checkForBucketMovement() throws the BucketMovedException,
this escapes the synchronized lastResult() method.  Propogating this to through the user function.
 
> Hopefully the user function does something appropriate or allows it to propagate to AbstractExecution.executeFunctionLocally(),
which hands it to handleException.  Here is where the exception is written back to the client.
> However, because we have now escaped the synchronized method, the thread can be paused.
 
> A remote execution returns with results and now enters the synchronized lastResult()
method.  The state flags have been set and now this result is considered the last result and
lastResult is now sent.  We end up not retrying even though the local node had failed.  It
just hadn't had the opportunity to send the exception back.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message