[ https://issues.apache.org/jira/browse/ACCUMULO-706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13453620#comment-13453620 ]
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. {code:java} 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; } } {code} and the following methods to Connector {code:java} class Connector { . . . public BatchDeleter createBatchDeleter(String tableName, Authorizations authorizations, BatchWriterConfig config); public BatchWriter createBatchWriter(String tableName, BatchWriterConfig config){} public MultiTableBatchWriter createMultiTableBatchWriter(BatchWriterConfig config){} . . . } {code} 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: https://issues.apache.org/jira/browse/ACCUMULO-706 > 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: http://www.atlassian.com/software/jira