You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geode.apache.org by xiaojian zhou <zh...@gmail.com> on 2017/05/07 17:47:46 UTC
Review Request 59040: when advisor cannot found target nodes for
bucket id, should double check if the member is offline
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/59040/
-----------------------------------------------------------
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
Re: Review Request 59040: when advisor cannot found target nodes for
bucket id, should double check if the member is offline
Posted by Xiaojian Zhou <gz...@pivotal.io>.
Yes, PartitionOfflineException is the expected behavior.
On Mon, May 8, 2017 at 11:32 AM, Barry Oglesby <bo...@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
> >
> >
>
>
Re: Review Request 59040: when advisor cannot found target nodes for
bucket id, should double check if the member is offline
Posted by Barry Oglesby <bo...@pivotal.io>.
-----------------------------------------------------------
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
>
>
Re: Review Request 59040: when advisor cannot found target nodes for
bucket id, should double check if the member is offline
Posted by Dan Smith <ds...@pivotal.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/59040/#review174195
-----------------------------------------------------------
Ship it!
Ship It!
- Dan Smith
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
>
>