[
https://issues.apache.org/jira/browse/HBASE-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12748404#action_12748404
]
stack commented on HBASE-1780:
------------------------------
Do the put methods need to be synchronized now since internally its
synchronizing on the write buffer? (Make currentWriteBufferSize transient so
outside of the synch block its most recent value can be seen?)
Minor: Make the below final and do assigning at same time as declaration?
{code}
private ArrayList<Put> writeBuffer;
{code}
Otherwise patch looks great. Patch is important fix.
Now you've done the work, add a comment to HTable class javadoc to explicitly
say its thread-safe?
(There are a bunch of unused imports in my HTable. Are they in yours? Remove
as part of this patch? They look bad, especially in this most public of our
classes).
> HTable.flushCommits clears write buffer in finally clause
> ---------------------------------------------------------
>
> Key: HBASE-1780
> URL: https://issues.apache.org/jira/browse/HBASE-1780
> Project: Hadoop HBase
> Issue Type: Bug
> Components: client
> Environment: All
> Reporter: Mathias Herberts
> Fix For: 0.20.1, 0.21.0
>
> Attachments: HBASE-1780.patch, HBASE-1780.patch
>
>
> Metthod flushCommits clears the write buffer in a finally clause.
> When using the write buffer, if the call to processBatchOfRows done in
> flushCommits throws an exception, the write buffer will be cleared thus
> potentially leading to loss of data on the client side.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.