You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Duo Zhang (Jira)" <ji...@apache.org> on 2022/07/19 10:24:00 UTC
[jira] [Commented] (HBASE-27223) Avoid data inconsistent between primary and secondary replicas for the new region replication framework
[ https://issues.apache.org/jira/browse/HBASE-27223?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17568455#comment-17568455 ]
Duo Zhang commented on HBASE-27223:
-----------------------------------
I think the design is WAL.sync will never fail, if it fails, we will abort the region server, so finally it will issue a flush and the secondary replica will drop the memstore content.
> Avoid data inconsistent between primary and secondary replicas for the new region replication framework
> -------------------------------------------------------------------------------------------------------
>
> Key: HBASE-27223
> URL: https://issues.apache.org/jira/browse/HBASE-27223
> Project: HBase
> Issue Type: Bug
> Components: read replicas
> Affects Versions: 3.0.0-alpha-3
> Reporter: chenglei
> Priority: Major
>
> For the new region replication framework introduced by HBASE-26233, when we write the {{Mutation}} on primary region replica , if {{HRegion.doMiniBatchMutate}} throws a exception, for example ,{{WAL.sync}} throws a {{TimeoutIOException}} because sync timeout, the writing on primary region replica is failed and we could not query the {{Mutation}} on the primary region replica, but the replication to the second replica may be successful because we always execute {{MultiVersionConcurrencyControl.WriteEntry.runCompletionAction()}} in {{MultiVersionConcurrencyControl.complete}} , and we could get the {{Mutation}} on the secondary region replica, this inconsistency should be avoid.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)