Details
-
New Feature
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
1.4.0, 2.0.0
-
None
-
None
-
Reviewed
-
Description
When region-move or RS failure occurs in master cluster, the hlog entries that are not pushed before region-move or RS-failure will be pushed by original RS(for region move) or another RS which takes over the remained hlog of dead RS(for RS failure), and the new entries for the same region(s) will be pushed by the RS which now serves the region(s), but they push the hlog entries of a same region concurrently without coordination.
This treatment can possibly lead to data inconsistency between master and peer clusters:
1. there are put and then delete written to master cluster
2. due to region-move / RS-failure, they are pushed by different replication-source threads to peer cluster
3. if delete is pushed to peer cluster before put, and flush and major-compact occurs in peer cluster before put is pushed to peer cluster, the delete is collected and the put remains in peer cluster
In this scenario, the put remains in peer cluster, but in master cluster the put is masked by the delete, hence data inconsistency between master and peer clusters
Attachments
Attachments
Issue Links
- breaks
-
HBASE-17918 document serial replication
- Closed
- is related to
-
ACCUMULO-2931 Ensure correct ordering of updates to a tablet across different WALs
- Resolved
-
HBASE-17010 Serial replication should handle daughter regions being assigned to another RS
- Closed
- relates to
-
HBASE-20046 Reconsider the implementation for serial replication
- Resolved
- links to