[
https://issues.apache.org/jira/browse/HBASE-12065?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14146570#comment-14146570
]
Andrew Purtell commented on HBASE-12065:
----------------------------------------
I don't mind (re)formatting the code if this is an acceptable change.
One change we'd need is this comment:
{code}
+ /*Treat DeleteFamily markers separately and push them one by one
+ reason for that is if we group multiple DeleteFamily markers into
+ Single request then there is chance of miss of DeleteFamily markers.
{code}
This is partly use case specific but could be argued that if there is a given
sequence of mutations and tombstones in an Export, and after Import that same
sequence is restored as-is, then this adheres to the principle of least
surprise. I'd update the comment to say something like that. And so the
proposed change on this issue modifies only the Import tool to provide that
semantic.
> Import tool is not restoring multiple DeleteFamily markers of a row
> --------------------------------------------------------------------
>
> Key: HBASE-12065
> URL: https://issues.apache.org/jira/browse/HBASE-12065
> Project: HBase
> Issue Type: Bug
> Components: util
> Affects Versions: 0.98.2
> Reporter: Maddineni Sukumar
> Assignee: Maddineni Sukumar
> Priority: Minor
> Attachments: hbase-12065-fix.patch, hbase-12065-unit-test.patch
>
>
> When a row has more than one DeleteFamily markers, Import tool is not
> restoring all DeleteFamily markers.
> Scenario: Insert entries into hbase in below order
> Put Row1 with Value-A
> Delete Row1 with DeleteFamily Marker
> Put Row1 with Value-B
> Delete Row1 with DeleteFamily Marker
> Using Export tool export this data and Import it into another table, you will
> see below entries
> Delete Row1 with DeleteFamily Marker
> Put Row1 with Value-B
> Put Row1 with Value-A
> One DeleteFamily marker is missing here... In Import tool,
> Importer.writeResult() method we are batching all deletes into a single
> Delete request and pushing into hbase. Here we are pushing only one delete
> family marker into hbase table.
> I tried same with normal HTable.delete command also.
> If you pass multiple DeleteFamily markers of a row in a single Delete request
> to hbase then table is maintaining only one.
> If that is the expected behavior of hbase then we should change logic in
> Import tool to push DeleteFamily markers individually one by one.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)