You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Niels Basjes (JIRA)" <ji...@apache.org> on 2017/12/11 15:03:00 UTC

[jira] [Created] (HBASE-19486) Automalically flush a BufferedMutator after a timeout

Niels Basjes created HBASE-19486:
------------------------------------

             Summary: Automalically flush a BufferedMutator after a timeout 
                 Key: HBASE-19486
                 URL: https://issues.apache.org/jira/browse/HBASE-19486
             Project: HBase
          Issue Type: Improvement
          Components: Client
            Reporter: Niels Basjes
            Assignee: Niels Basjes


I'm working on several projects where we are doing stream / event type processing instead of batch type processing. We mostly use Apache Flink and Apache Beam for these projects.

When we ingest a continuous stream of events and feed that into HBase via a BufferedMutator this all works fine. The buffer fills up at a predictable rate and we can make sure it flushes several times per second into HBase by tuning the buffer size.

We also have situations where the event rate is unpredictable. Some times because the source is in reality a batch job that puts records into Kafka, sometimes because it is the "predictable in production" application in our testing environment (where only the dev triggers a handful of events).

For these kinds of use cases we need a way to 'force' the BufferedMutator to automatically flush any records in the buffer even if the buffer is not full.

I'll put up a pull request with a proposed implementation for review against the master (i.e. 3.0.0).
When approved I would like to backport this to the 1.x and 2.x versions of the client in the same (as close as possible) way.




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)