HBASE-24603: Make Zookeeper sync() call synchronous (#1945)
commit84e246f9b197bfa4307172db5465214771b78d38
authorBharath Vissapragada <bharathv@apache.org>
Thu, 25 Jun 2020 20:27:38 +0000 (25 13:27 -0700)
committerGitHub <noreply@github.com>
Thu, 25 Jun 2020 20:27:38 +0000 (25 13:27 -0700)
treed0b82f67b6ba53dfddc5267e98435ae5bf7ddf2c
parente54e3afc5cee77e4db3fdae05dee10c80c52685b
HBASE-24603: Make Zookeeper sync() call synchronous (#1945)

Writing a test for this is tricky. There is enough coverage for
functional tests. Only concern is performance, but there is enough
logging for it to detect timed out/badly performing sync calls.

Additionally, this patch decouples the ZK event processing into it's
own thread rather than doing it in the EventThread's context. That
avoids deadlocks and stalls of the event thread.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
hbase-common/src/main/java/org/apache/hadoop/hbase/util/Threads.java
hbase-server/src/main/java/org/apache/hadoop/hbase/backup/example/HFileArchiveManager.java
hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/ZKVisibilityLabelWatcher.java
hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.java
hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java