[
https://issues.apache.org/jira/browse/HBASE-2957?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12907380#action_12907380
]
Prakash Khemani commented on HBASE-2957:
----------------------------------------
I agree that the ordering on a given region server will be the same with or
without delayed sync. But I am pretty sure that globally there will be
inconsistencies.
Say a value is updated on RS A. This value is not synced yet.
The abovementioned unsynced value on RS A is read by someone and based on that
value an update is made on another RS B. Say the update on RS B is synced.
Now we have a window where B depends on A, B is in the logs but A isn't. In in
this window if RS A dies and comes back up then we will have a situation where
the update on RS B is present but update on RS A isn't.
> 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.