Wenzhe Zhou has uploaded this change for review. ( http://gerrit.cloudera.org:8080/21480
Change subject: IMPALA-13134: DDL hang with SYNC_DDL enabled when Catalogd is changed to standby status ...................................................................... IMPALA-13134: DDL hang with SYNC_DDL enabled when Catalogd is changed to standby status Catalogd waits for SYNC_DDL version when it processes a DDL with SYNC_DDL enabled. If the status of Catalogd is changed from active to standby when CatalogServiceCatalog.waitForSyncDdlVersion() is called, the standby catalogd does not receive catalog topic updates from statestore, hence catalogd thread waits indefinitely. This patch fixed the issue by re-generating service id when Catalogd is changed to standby status and throwing exception if its service id has been changed when waiting for SYNC_DDL version. Testing: - Added unit-test code for CatalogD HA to run DDL with SYNC_DDL enabled and injected delay when waiting SYNC_DLL version, then verify that DDL query fails due to catalog failover. - Passed test_catalogd_ha.py. Change-Id: I2dcd628cff3c10d2e7566ba2d9de0b5886a18fc1 --- M be/src/catalog/catalog-server.cc M be/src/util/backend-gflag-util.cc M common/thrift/BackendGflags.thrift M fe/src/main/java/org/apache/impala/catalog/CatalogServiceCatalog.java M fe/src/main/java/org/apache/impala/service/BackendConfig.java M fe/src/main/java/org/apache/impala/util/DebugUtils.java M tests/custom_cluster/test_catalogd_ha.py 7 files changed, 73 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/80/21480/2 -- To view, visit http://gerrit.cloudera.org:8080/21480 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I2dcd628cff3c10d2e7566ba2d9de0b5886a18fc1 Gerrit-Change-Number: 21480 Gerrit-PatchSet: 2 Gerrit-Owner: Wenzhe Zhou <[email protected]>
