You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@impala.apache.org by "anujphadke (Code Review)" <ge...@cloudera.org> on 2016/06/29 20:50:13 UTC

[Impala-CR](cdh5-2.5.0 5.7.x) IMPALA-3633: cancel fragment if coordinator is gone

Hello Internal Jenkins, Tim Armstrong,

I'd like you to do a code review.  Please visit

    http://gerrit.cloudera.org:8080/3536

to review the following change.

Change subject: IMPALA-3633: cancel fragment if coordinator is gone
......................................................................

IMPALA-3633: cancel fragment if coordinator is gone

The bug is that return_val.status is an optional field, so setting
the status without __isset is equivalent to Status::OK(). This
meant that fragment did not get notified when reporting status
if the coordinator had gone away. This means that is a cancel
RPC was lost, we could be left with zombie fragments with no
coordinator that kept on running until completion.

Testing:
I couldn't see a way to replicate this reliably with our existing test
setup, since it requires some RPCs to be dropped to get into this state.
I manually tested by commenting out CancelRemoteFragments(), starting a
long-running query then cancelling it. Before the patch, perf top showed
that the fragments continue to execute the query. After the patch, the
fragments stopped executing quickly.

Change-Id: I62ab6f4df7c0ee60c6aa6291513f9f0cbfac3fe7
Reviewed-on: http://gerrit.cloudera.org:8080/3238
Reviewed-by: Tim Armstrong <ta...@cloudera.com>
Tested-by: Internal Jenkins
(cherry picked from commit a4b9036c3828d36359f07c2a9d2f2f83eb294c7d)
---
M be/src/service/impala-server.cc
1 file changed, 4 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala refs/changes/36/3536/1
-- 
To view, visit http://gerrit.cloudera.org:8080/3536
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I62ab6f4df7c0ee60c6aa6291513f9f0cbfac3fe7
Gerrit-PatchSet: 1
Gerrit-Project: Impala
Gerrit-Branch: cdh5-2.5.0_5.7.x
Gerrit-Owner: anujphadke <ap...@cloudera.com>
Gerrit-Reviewer: Internal Jenkins
Gerrit-Reviewer: Tim Armstrong <ta...@cloudera.com>

[Impala-CR](cdh5-2.5.0 5.7.x) IMPALA-3633: cancel fragment if coordinator is gone

Posted by "anujphadke (Code Review)" <ge...@cloudera.org>.
anujphadke has submitted this change and it was merged.

Change subject: IMPALA-3633: cancel fragment if coordinator is gone
......................................................................


IMPALA-3633: cancel fragment if coordinator is gone

The bug is that return_val.status is an optional field, so setting
the status without __isset is equivalent to Status::OK(). This
meant that fragment did not get notified when reporting status
if the coordinator had gone away. This means that is a cancel
RPC was lost, we could be left with zombie fragments with no
coordinator that kept on running until completion.

Testing:
I couldn't see a way to replicate this reliably with our existing test
setup, since it requires some RPCs to be dropped to get into this state.
I manually tested by commenting out CancelRemoteFragments(), starting a
long-running query then cancelling it. Before the patch, perf top showed
that the fragments continue to execute the query. After the patch, the
fragments stopped executing quickly.

Change-Id: I62ab6f4df7c0ee60c6aa6291513f9f0cbfac3fe7
Reviewed-on: http://gerrit.cloudera.org:8080/3238
Reviewed-by: Tim Armstrong <ta...@cloudera.com>
Tested-by: Internal Jenkins
(cherry picked from commit a4b9036c3828d36359f07c2a9d2f2f83eb294c7d)
Reviewed-on: http://gerrit.cloudera.org:8080/3536
Reviewed-by: anujphadke <ap...@cloudera.com>
Tested-by: anujphadke <ap...@cloudera.com>
---
M be/src/service/impala-server.cc
1 file changed, 4 insertions(+), 7 deletions(-)

Approvals:
  anujphadke: Looks good to me, approved; Verified



-- 
To view, visit http://gerrit.cloudera.org:8080/3536
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I62ab6f4df7c0ee60c6aa6291513f9f0cbfac3fe7
Gerrit-PatchSet: 2
Gerrit-Project: Impala
Gerrit-Branch: cdh5-2.5.0_5.7.x
Gerrit-Owner: anujphadke <ap...@cloudera.com>
Gerrit-Reviewer: Internal Jenkins
Gerrit-Reviewer: Tim Armstrong <ta...@cloudera.com>
Gerrit-Reviewer: anujphadke <ap...@cloudera.com>

[Impala-CR](cdh5-2.5.0 5.7.x) IMPALA-3633: cancel fragment if coordinator is gone

Posted by "anujphadke (Code Review)" <ge...@cloudera.org>.
anujphadke has posted comments on this change.

Change subject: IMPALA-3633: cancel fragment if coordinator is gone
......................................................................


Patch Set 1: Code-Review+2 Verified+1

Ran the exhaustive tests -
http://sandbox.jenkins.cloudera.com/view/Impala/view/Private-Utility/job/impala-private-build-and-test/3551/

-- 
To view, visit http://gerrit.cloudera.org:8080/3536
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I62ab6f4df7c0ee60c6aa6291513f9f0cbfac3fe7
Gerrit-PatchSet: 1
Gerrit-Project: Impala
Gerrit-Branch: cdh5-2.5.0_5.7.x
Gerrit-Owner: anujphadke <ap...@cloudera.com>
Gerrit-Reviewer: Internal Jenkins
Gerrit-Reviewer: Tim Armstrong <ta...@cloudera.com>
Gerrit-Reviewer: anujphadke <ap...@cloudera.com>
Gerrit-HasComments: No