accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith Turner (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-706) Batch Writer needs timeout
Date Wed, 12 Sep 2012 01:23:08 GMT


Keith Turner commented on ACCUMULO-706:

I implemented the timeout code in the batch writer implementation.  Now I am at the point
where I need to let the user configure the timeout.   I am thinking of adding the following
to the API.


public class BatchWriterConfig {
  private long maxMemory = 10000000;
  private long maxLatency = 120000;
  private long timeout = Long.MAX_VALUE;
  private int maxWriteThreads = 3;

  public BatchWriterConfig setMaxMemory(long maxMemory) {
    this.maxMemory = maxMemory;
    return this;

  public BatchWriterConfig setMaxLatency(long maxLatency) {
    this.maxLatency = maxLatency;
    return this;

  public BatchWriterConfig setTimeout(long timeout) {
    this.timeout = timeout;
    return this;

  public BatchWriterConfig setMaxWriteThreads(int maxWriteThreads) {
    this.maxWriteThreads = maxWriteThreads;
    return this;


and the following methods to Connector

class Connector {
  public BatchDeleter createBatchDeleter(String tableName, Authorizations authorizations,
BatchWriterConfig config);
  public BatchWriter createBatchWriter(String tableName, BatchWriterConfig config){}
  public MultiTableBatchWriter createMultiTableBatchWriter(BatchWriterConfig config){}


This would allow the user to set the timeout and hopefully future batch writer configuration
changes would not require a change to connector.   The current methods for creating batch
writers could be deprecated.

I thought about adding a setTimeout() method to the BatchWriter interface instead of changing
Connector.  I did not like this because setTimeout() would have to be called before any mutations
were added to the batch writer.

> Batch Writer needs timeout
> --------------------------
>                 Key: ACCUMULO-706
>                 URL:
>             Project: Accumulo
>          Issue Type: New Feature
>          Components: client
>            Reporter: Keith Turner
>            Assignee: Keith Turner
>             Fix For: 1.5.0
> The BatchWriter needs a user configurable timeout.  The current behavior when a tablet
or tablet server can not be successfully written to is that it will hang indefinitely retrying.
 The timeout could default to max long to preserve current behavior.  

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message