[ https://issues.apache.org/jira/browse/HBASE-5776?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13252966#comment-13252966 ]
Phabricator commented on HBASE-5776: ------------------------------------ tedyu has commented on the revision "[jira][89-fb][HBASE-5776] HTableMultiplexer". INLINE COMMENTS src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java:1701 processSingleMultiPut would be a better name for this method. src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java:1720 If this log is to be kept, please add method name. src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java:1727 'and there is no succeeded put' -> 'and there is no successful put' src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java:1730 Prepared -> Prepare src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java:1702 Name this variable successfulPutCounter src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java:1738 Remove 'Set retry as true and' src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java:1745 Add a space between , and closing double quote. src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java:1754 This is inconsistent with the handling on line 1760. src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java:1766 'Catch the' -> caught src/main/java/org/apache/hadoop/hbase/client/HTableMultiplexer.java:1 License. src/main/java/org/apache/hadoop/hbase/client/HTableMultiplexer.java:20 javadoc for class, please. src/main/java/org/apache/hadoop/hbase/client/HTableMultiplexer.java:25 HServerAddress is deprecated in trunk. src/main/java/org/apache/hadoop/hbase/client/HTable.java:714 Package private access should be enough. src/main/java/org/apache/hadoop/hbase/client/HTableMultiplexer.java:63 A 'continue' after this line would allow you to omit else line below. src/main/java/org/apache/hadoop/hbase/client/HTableMultiplexer.java:66 loc.getHostnamePort() would allow you to identify the server. src/main/java/org/apache/hadoop/hbase/client/HTableMultiplexer.java:95 This can be package private since it is used by test only. src/main/java/org/apache/hadoop/hbase/client/HTableMultiplexer.java:122 flush worker is per region server, do we need poolID here ? src/main/java/org/apache/hadoop/hbase/client/HTableMultiplexer.java:172 succeededCount -> successfulCount src/main/java/org/apache/hadoop/hbase/client/HTableMultiplexer.java:160 Give tmp a better name: how about putsUnderProcessing ? src/main/java/org/apache/hadoop/hbase/client/HTableMultiplexer.java:198 ' put ' should precede 'requests' on line 199 src/main/java/org/apache/hadoop/hbase/client/HTableMultiplexer.java:211 Should InterruptedException be handled specially ? src/main/java/org/apache/hadoop/hbase/client/HTableMultiplexer.java:208 If this worker gets busy, there may not be sleeping. Should we introduce some counter for the above case? src/test/java/org/apache/hadoop/hbase/client/TestHTableMultiplexer.java:1 License, please. REVISION DETAIL https://reviews.facebook.net/D2775 > HTableMultiplexer > ------------------ > > Key: HBASE-5776 > URL: https://issues.apache.org/jira/browse/HBASE-5776 > Project: HBase > Issue Type: Improvement > Reporter: Liyin Tang > Assignee: Liyin Tang > Attachments: D2775.1.patch, D2775.1.patch > > > There is a known issue in HBase client that single slow/dead region server > could slow down the multiput operations across all the region servers. So the > HBase client will be as slow as the slowest region server in the cluster. > > To solve this problem, HTableMultiplexer will separate the multiput > submitting threads with the flush threads, which means the multiput operation > will be a nonblocking operation. > The submitting thread will shard all the puts into different queues based on > its destination region server and return immediately. The flush threads will > flush these puts from each queue to its destination region server. > Currently the HTableMultiplexer only supports the put operation. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira