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