[
https://issues.apache.org/jira/browse/HBASE-1968?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12775293#action_12775293
]
Jean-Daniel Cryans commented on HBASE-1968:
-------------------------------------------
Sorry brain lag ;)
> Give clients access to the write buffer
> ---------------------------------------
>
> Key: HBASE-1968
> URL: https://issues.apache.org/jira/browse/HBASE-1968
> Project: Hadoop HBase
> Issue Type: Improvement
> Reporter: Andrew Purtell
> Assignee: Andrew Purtell
> Priority: Trivial
> Fix For: 0.20.2
>
>
> From a Trend dev team:
> {quote}
> When insert rows into one table by calling the method public synchronized
> void put(final Put put), if the column family of one row does not exist, the
> insert operation will failed and throw NoSuchColumnFamilyException.. We
> observed that all the following insert operation will fails even though all
> of them have valid column family. That is one exception of insert operation
> can cause failure of all the following insert operation.
> {quote}
> Their further analysis explains in detail the scenario, which I will
> summarize here:
> 1) An invalid put is added to the writeBuffer by put(Put put). It will
> trigger a NoSuchColumnFamilyException once it goes to the region server.
> 2) At some point, the buffer is flushed.
> 3) When the invalid put is processed, an exception is thrown. The finally
> clause of flushCommits() removes all successful puts from the writebuffer
> list but the failed put remains at the top. This entry becomes an immovable
> blocker which prevents any subsequent entry from being processed.
> 4) Subsequent puts will add more entries to the write buffer until the buffer
> limit is reached, compounding the problem by allowing more edits to be queued
> which can never be processed.
> A workaround could be for the client to call getWriteBuffer() -- on trunk --
> and remove the entry at the head of the list manually, but without the patch
> on this issue, the client cannot get access to the list on branch.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.