[ https://issues.apache.org/jira/browse/HBASE-22075?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16882070#comment-16882070 ]
Sean Busbey commented on HBASE-22075: ------------------------------------- bq. As for HBASE-16812, I do not think it is the only patch which affected MOB in a bad way - there should be others. I am saying that, because my own test failed with HBASE-16812 reverted (on HDP-2.6.5). yeah, I agree here. I finished backporting HBASE-16812 onto CDH5.13.3 last night and the IT still shows no dataloss. bq. To prevent non-atomic failures we will need acid txs? No? To prevent cross-region non-atomic failures yes. But I don't think we need to prevent that; we just need to update the logic of committing the updated refs to handle non-atomic failure. the bulkload code assumes someone will work it out handling the failure externally and then we don't. I think instead we should use the per-region atomic commit of bulk loaded files to track when we've successfully made use of our newly compacted files. if we can't succeed on retry for a given region we can just keep around the old mob files for references in that region and then clean things up on the next mob compaction. > 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.2.1, 2.1.6 > > Attachments: HBASE-22075-v1.patch, HBASE-22075-v2.patch, > HBASE-22075.test-only.0.patch, HBASE-22075.test-only.1.patch, > HBASE-22075.test-only.2.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)