You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Ted Yu (JIRA)" <ji...@apache.org> on 2017/01/06 17:40:58 UTC

[jira] [Created] (HBASE-17433) Consider deduplicating exception field of ResultOrException for multi rquest

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)