[ 
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

        

Reply via email to