Duo Zhang created CURATOR-443:
---------------------------------
Summary: CuratorFrameworkImpl may sleep in foreground even if
inBackground is called
Key: CURATOR-443
URL: https://issues.apache.org/jira/browse/CURATOR-443
Project: Apache Curator
Issue Type: Bug
Reporter: Duo Zhang
Assignee: Jordan Zimmerman
Recently we purge the complicated RecoverableZooKeeper dependency in
hbase-client and use curator to get data from zookeeper.
But when debugging HBASE-19266, we found that if we get data immediately after
the creation of CuratorFramework, the request will always cost 100x ms to
complete.
After digging, we found that there is a sleep in CuratorFrameworkImpl if the
connection is not established yet
https://github.com/apache/curator/blob/6d36a4793b31cdacaf4bbf6554e05d68bc680001/curator-framework/src/main/java/org/apache/curator/framework/imps/CuratorFrameworkImpl.java#L943
This is really a bad news for us. We decide to make the async hbase client
fully asynchronous. You can see this example, where we execute the request to
hbase directly in the netty event loop thread.
https://github.com/apache/hbase/blob/master/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/HttpProxyExample.java
So if there is a sleep in foreground then the event loop will be stuck for 1
second which will cause very bad performance impact...
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)