Daniel Becker has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/20192


Change subject: IMPALA-12267: DMLs/DDLs can hang as a result of catalogd restart
......................................................................

IMPALA-12267: DMLs/DDLs can hang as a result of catalogd restart

IMPALA-5476 added handling for changes in catalogd service ID during the
lifetime of a DML/DDL query, but the loop that waits for a new catalogd
service ID can wait indefinitely in case the DML/DDL was handled by the
previous catalogd and restart happened just after replying to the
coordinator:
https://github.com/apache/impala/blob/d0fe4c604f72d41019832513ebf65cfe8f469953/be/src/service/impala-server.cc#L2204

This change adds a new startup flag,
'--wait_for_catalog_update_timeout_sec', which can set an upper limit on
the waiting time. Negative values and zero mean no timeout, positive
values are interpreted as seconds.

If the query times out, the local catalog cache is not updated and a
warning is logged.

Testing:
 - added a custom cluster test that reproduces the above condition using
   a debug action and verifies that the waiting loop times out.

Change-Id: Ib71bec8f67f80b0bdfe0a6cc46a16ef624163d8b
---
M be/src/service/client-request-state.cc
M be/src/service/impala-server.cc
M be/src/service/impala-server.h
M tests/common/impala_test_suite.py
M tests/custom_cluster/test_restart_services.py
5 files changed, 131 insertions(+), 27 deletions(-)



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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib71bec8f67f80b0bdfe0a6cc46a16ef624163d8b
Gerrit-Change-Number: 20192
Gerrit-PatchSet: 1
Gerrit-Owner: Daniel Becker <[email protected]>
Gerrit-Reviewer: Csaba Ringhofer <[email protected]>
Gerrit-Reviewer: Quanlong Huang <[email protected]>
Gerrit-Reviewer: Wenzhe Zhou <[email protected]>

Reply via email to