[
https://issues.apache.org/jira/browse/HBASE-29679?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Charles Connell reassigned HBASE-29679:
---------------------------------------
Assignee: Charles Connell
> Suppress stack trace in RpcThrottlingException
> ----------------------------------------------
>
> Key: HBASE-29679
> URL: https://issues.apache.org/jira/browse/HBASE-29679
> Project: HBase
> Issue Type: Improvement
> Components: Quotas
> Reporter: Charles Connell
> Assignee: Charles Connell
> Priority: Minor
> Attachments: failRegionAction.alloc.html, failRegionAction.cpu.html,
> failRegionAction.wall.html
>
>
> When under heavy load, a RegionServer may need to serve a very large number
> of {{RpcThrottlingExceptions}} per second. Ideally, these should be cheap to
> send, because they are HBase's load shedding mechanism.
> At my company, we sometimes see that sending many
> {{RpcThrottlingExceptions}} isn't always easy. The most expensive part is
> generating the exception's stack trace, and then serializing that over the
> wire. This is not necessary, so it can be skipped to save a lot of work.
> I'm attaching a CPU-time profile, wall-clock-time profile, and allocation
> profile, showing the problem in action. In the allocation profile,
> {{StringUtils.stringifyException}} is responsible for 26% of allocations. In
> the CPU-time profile, {{StringUtils.stringifyException}} plus
> {{RpcThrottlingException.<init>}} is directly responsible for 4% of CPU time,
> and indirectly responsible for more time spent garbage collecting later.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)