[ 
https://issues.apache.org/jira/browse/HBASE-12751?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14377157#comment-14377157
 ] 

Elliott Clark commented on HBASE-12751:
---------------------------------------

So [~nkedel] and I have been debugging this today. The test that's failing is a 
real test failure. However it's do to the late binding sequence id work that 
went in a while ago.

The issue is that if we allow two WALEdits for the same row to be outstanding 
then it's possible that the pre-created sequence number (1M + a incrementing 
long) will not sort in the same way as the sequence id inside of the waledit. 
This late binding is currently pretty intwined with the FSHLog.

[~stack] or [~busbey] or [~jeffreyz] any thoughts on how to fix this cleanly? 
My only thought was to move memstore insertion after hlog.append.

> Allow RowLock to be reader writer
> ---------------------------------
>
>                 Key: HBASE-12751
>                 URL: https://issues.apache.org/jira/browse/HBASE-12751
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Elliott Clark
>            Assignee: Nate Edel
>         Attachments: HBASE-12751-v1.patch, HBASE-12751.patch
>
>
> Right now every write operation grabs a row lock. This is to prevent values 
> from changing during a read modify write operation (increment or check and 
> put). However it limits parallelism in several different scenarios.
> If there are several puts to the same row but different columns or stores 
> then this is very limiting.
> If there are puts to the same column then mvcc number should ensure a 
> consistent ordering. So locking is not needed.
> However locking for check and put or increment is still needed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to