HTable.doPut(List) should check the writebuffer lengh every so often
--------------------------------------------------------------------

                 Key: HBASE-4143
                 URL: https://issues.apache.org/jira/browse/HBASE-4143
             Project: HBase
          Issue Type: Improvement
            Reporter: Doug Meil
            Priority: Minor



This came up on a dist-list conversation between Andy P., Ted Yu, and myself.  
Andy noted that extremely large lists passed into put(List) can cause issues.  
Ted suggested that having doPut check the write-buffer length every so often 
(5-10 records?) so the flush doesn't happen only at the end, and I think that's 
good idea.

 public void put(final List<Put> puts) throws IOException {
    doPut(puts);
  }
  private void doPut(final List<Put> puts) throws IOException {
    for (Put put : puts) {
      validatePut(put);
      writeBuffer.add(put);
      currentWriteBufferSize += put.heapSize();
    }
    if (autoFlush || currentWriteBufferSize > writeBufferSize) {
      flushCommits();
    }
  }

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to