You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Karthik Palanisamy (JIRA)" <ji...@apache.org> on 2019/05/04 00:48:00 UTC
[jira] [Commented] (HBASE-22075) Potential data loss when MOB
compaction fails
[ https://issues.apache.org/jira/browse/HBASE-22075?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16832954#comment-16832954 ]
Karthik Palanisamy commented on HBASE-22075:
--------------------------------------------
[~elserj] Tested [~vrodionov] patch. This fix handled MOB data well safe. No data loss is noticed during MOB compaction failure, RS crash, IO issue, and any infra issues.
But majorly race condition is noticed w/ or w/o patch in the MOB. We see data loss again during MOB-compaction and Major-compaction while those are running together.
As [~vrodionov] already mentioned, there will be a race condition in this case. I think he already working on a new patch.
I have attached a small repro code (ReproMOBDataLoss.java) for this race condition. This is an aggressive test. Test duration is nearly an hour.
# Settings: Region Size 200 MB, Flush threshold 800 KB.
# Insert 10 Million records
# MOB Compaction and Archiver
a) Trigger MOB Compaction (every 2 minutes)
b) Trigger major compaction (every 2 minutes)
c) Trigger archive cleaner (every 3 minutes)
# Validate MOB data after complete data load.
I ran this repro code on branch-2.2. The issue is reproduced.
Also, ran this repro code after disabling MOB compaction. No data loss is noticed.
> Potential data loss when MOB compaction fails
> ---------------------------------------------
>
> Key: HBASE-22075
> URL: https://issues.apache.org/jira/browse/HBASE-22075
> Project: HBase
> Issue Type: Bug
> Components: mob
> Affects Versions: 2.1.0, 2.0.0, 2.0.1, 2.1.1, 2.0.2, 2.0.3, 2.1.2, 2.0.4, 2.1.3
> Reporter: Vladimir Rodionov
> Assignee: Vladimir Rodionov
> Priority: Critical
> Labels: compaction, mob
> Fix For: 2.0.6, 2.1.5, 2.2.1
>
> Attachments: HBASE-22075-v1.patch, HBASE-22075-v2.patch, ReproMOBDataLoss.java
>
>
> When MOB compaction fails during last step (bulk load of a newly created reference file) there is a high chance of a data loss due to partially loaded reference file, cells of which refer to (now) non-existent MOB file. The newly created MOB file is deleted automatically in case of a MOB compaction failure, but some cells with the references to this file might be loaded to HBase.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)