You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Nick Dimiduk (Jira)" <ji...@apache.org> on 2025/02/27 15:25:00 UTC

[jira] [Commented] (HBASE-29148) BufferedMutator should be able to flush after buffering a certain number of mutations

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

Nick Dimiduk commented on HBASE-29148:
--------------------------------------

What do you think [~charlesconnell], if {{hbase.client.write.buffer.maxmutations}} is unset and {{hbase.rpc.rows.size.threshold.reject}} is set, should the client default to using the value of {{hbase.rpc.rows.size.threshold.reject}}, or some value derived thereof?

> BufferedMutator should be able to flush after buffering a certain number of mutations
> -------------------------------------------------------------------------------------
>
>                 Key: HBASE-29148
>                 URL: https://issues.apache.org/jira/browse/HBASE-29148
>             Project: HBase
>          Issue Type: Improvement
>          Components: Client
>            Reporter: Charles Connell
>            Assignee: Charles Connell
>            Priority: Minor
>              Labels: pull-request-available
>             Fix For: 2.7.0, 3.0.0-beta-2
>
>
> At my company I've been experimenting with enabling {{hbase.rpc.rows.size.threshold.reject}} on our RegionServers as a protective measure, to prevent Java OOMs caused by large Multi requests. This has caused issues for some clients using BufferedMutators, which send large batches of mutations, sometimes all to a single RegionServer. It the BufferedMutator had a way to flush before hitting the RegionServer's {{hbase.rpc.rows.warning.threshold}}, then it could gets its mutations done successfully. This is easy to add.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)