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

Josh Elser commented on HBASE-18023:
------------------------------------

{quote}
I added the "(See https://issues.apache.org/jira/browse/HBASE-18023)" reference 
in response to stack's suggestion to add to the log line, "...a pointer to doc 
or issue on why many small batches will go down better than a few massive 
ones". If there's a better doc or issue to reference I can replace it but 
otherwise I can remove the reference altogether.
{quote}

Sorry for giving you conflicting suggestions :D. We could go a bit more 
specific: "A single client is sending large requests", or just trip the URL 
down to "HBASE-18023". Not a big deal either way.

{quote}
there does seem to be precedent in the code for creating methods for testing 
purposes only so I'll go ahead and make those "for testing purposes only" 
public access points (either public methods delivering the logging string or a 
public ctor for RSRpcServices which takes in some kind of logging delegate).
{quote}

Yep, this is pretty common. For hot-codepaths, the JIT will optimize away small 
methods and we won't see any significant performance impact of an extra method. 
You can make the method package-private which gives a decent amount of 
encapsulation while still allowing testing.

> Log multi-* requests for more than threshold number of rows
> -----------------------------------------------------------
>
>                 Key: HBASE-18023
>                 URL: https://issues.apache.org/jira/browse/HBASE-18023
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>            Reporter: Clay B.
>            Assignee: David Harju
>            Priority: Minor
>         Attachments: HBASE-18023.master.001.patch
>
>
> Today, if a user happens to do something like a large multi-put, they can get 
> through request throttling (e.g. it is one request) but still crash a region 
> server with a garbage storm. We have seen regionservers hit this issue and it 
> is silent and deadly. The RS will report nothing more than a mysterious 
> garbage collection and exit out.
> Ideally, we could report a large multi-* request before starting it, in case 
> it happens to be deadly. Knowing the client, user and how many rows are 
> affected would be a good start to tracking down painful users.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to