Yes, PartitionOfflineException is the expected behavior. On Mon, May 8, 2017 at 11:32 AM, Barry Oglesby <bogle...@pivotal.io> wrote:
> > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/59040/#review174209 > ----------------------------------------------------------- > > > > > geode-core/src/main/java/org/apache/geode/internal/cache/execute/ > FunctionExecutionNodePruner.java > Lines 63 (patched) > <https://reviews.apache.org/r/59040/#comment247328> > > What happens in the persistent case? Does it throw a > PartitionOfflineException? > > > - Barry Oglesby > > > On May 7, 2017, 5:47 p.m., xiaojian zhou wrote: > > > > ----------------------------------------------------------- > > This is an automatically generated e-mail. To reply, visit: > > https://reviews.apache.org/r/59040/ > > ----------------------------------------------------------- > > > > (Updated May 7, 2017, 5:47 p.m.) > > > > > > Review request for geode, Barry Oglesby and Dan Smith. > > > > > > Bugs: GEODE-2824 > > https://issues.apache.org/jira/browse/GEODE-2824 > > > > > > Repository: geode > > > > > > Description > > ------- > > > > This is a race condition. When a member is offline (in redundentcopy=0 > case), an earlier check will found that. But if it passed the check, the > code will enter a retry loop to ask advisor to give the target node. > Finally the advisor will return an empty list of member. Then the code will > screw up and throw the "No target node found" exception. > > > > The fix is: when the empty list is return, double check if target node > is offline. > > > > > > Diffs > > ----- > > > > geode-core/src/main/java/org/apache/geode/internal/cache/execute/ > FunctionExecutionNodePruner.java 18700a75d > > > > > > Diff: https://reviews.apache.org/r/59040/diff/1/ > > > > > > Testing > > ------- > > > > > > Thanks, > > > > xiaojian zhou > > > > > >