[ https://issues.apache.org/jira/browse/HBASE-2957?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Purtell resolved HBASE-2957. ----------------------------------- Resolution: Not a Problem > 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 was sent by Atlassian JIRA (v6.2#6252)