[
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