hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Josh Elser (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-18023) Log multi-* requests for more than threshold number of rows
Date Fri, 16 Jun 2017 00:12:00 GMT

    [ 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:

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.

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.

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).

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

View raw message