curator-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Duo Zhang (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CURATOR-443) CuratorFrameworkImpl may sleep in foreground even if inBackground is called
Date Tue, 21 Nov 2017 07:57:00 GMT
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)

Mime
View raw message