[ 
https://issues.apache.org/jira/browse/HBASE-14946?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15048284#comment-15048284
 ] 

Elliott Clark commented on HBASE-14946:
---------------------------------------

The basic flow is like this.

I want to get a single column from lots of rows. So I create a list of gets. 
Then I send them to table.get(List<Get>). If the regions for that table are 
spread out then those requests get chunked out to all the region servers. No 
one regionserver gets too many. However if one region server contains lots of 
regions for that table then a multi action can contain lots of gets. No single 
get is too onerous. However the regionserver won't return until every get is 
complete. So if there are thousands of gets that are sent in one multi then the 
regionserver can retain lots of data in one thread.

> Don't allow multi's to over run the max result size.
> ----------------------------------------------------
>
>                 Key: HBASE-14946
>                 URL: https://issues.apache.org/jira/browse/HBASE-14946
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 2.0.0, 1.2.0, 1.3.0
>            Reporter: Elliott Clark
>            Assignee: Elliott Clark
>            Priority: Critical
>         Attachments: HBASE-14946-v1.patch, HBASE-14946-v2.patch, 
> HBASE-14946-v3.patch, HBASE-14946-v5.patch, HBASE-14946.patch
>
>
> If a user puts a list of tons of different gets into a table we will then 
> send them along in a multi. The server un-wraps each get in the multi. While 
> no single get may be over the size limit the total might be.
> We should protect the server from this. 
> We should batch up on the server side so each RPC is smaller.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to