Ted Yu created HBASE-17433:
------------------------------
Summary: Consider deduplicating exception field of
ResultOrException for multi rquest
Key: HBASE-17433
URL: https://issues.apache.org/jira/browse/HBASE-17433
Project: HBase
Issue Type: Improvement
Reporter: Ted Yu
HBASE-17387 and HBASE-17408 tried to cover the following scenario:
The application is doing multi requests with Increments (e.g. 15K increments in
a single RPC). When this RPC takes longer than RPC timeout, the following
RPC(s) would get ~15K exceptions due to nonce collisions, resulting in large
response size which leads to OOME.
Currently the String form of individual exception is serialized in exception
field of ResultOrException (see Client.proto) for each Action (see
RSRpcServices#doNonAtomicRegionMutation()). This turns out to be wasteful - the
stack trace would be repeated as many times as the number of Increments which
encounter nonce collision.
We should dedup the exceptions in the response by, e.g. embedding a map of
ordinal to serialized exception trace in RegionActionResult.
Exception field of ResultOrException would be able to reference the ordinal of
the exception, resulting in savings of response size.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)