Release row lock when waiting for wal-sync
------------------------------------------

                 Key: HBASE-2957
                 URL: https://issues.apache.org/jira/browse/HBASE-2957
             Project: HBase
          Issue Type: Improvement
          Components: regionserver, wal
    Affects Versions: 0.20.0
            Reporter: Prakash Khemani


Is there a reason to hold on to the row-lock while waiting for the WAL-sync to 
be completed by the logSyncer thread?

I think data consistency will be guaranteed even if the following happens (a) 
the row lock is held while the row is updated in memory (b) the row lock is 
released after queuing the KV record for WAL-syncing (c) the log-sync system 
guarantees that the log records for any given row are synced in order (d) the 
HBase client only receives a success notification after the sync completes (no 
change from the current state)

I think this should be a huge win. For my use case, and I am sure for others,  
the handler thread spends the bulk of its row-lock critical section  time 
waiting for sync to complete.

Even if the log-sync system cannot guarantee the orderly completion of sync 
records, the "Don't hold row lock while waiting for sync" option should be 
available to HBase clients on a per request basis.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to