[
https://issues.apache.org/jira/browse/HBASE-2338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
stack reopened HBASE-2338:
--------------------------
Assignee: stack
Commit broke build. Reopening. TestClient.testDeletes fails. We add two
values each at different timestamps. We then do two deletes w/o ts. This
should be purging both values but seems to only get rid of one. I'm taking a
look at it...
> log recovery: deleted items may be resurrected
> ----------------------------------------------
>
> Key: HBASE-2338
> URL: https://issues.apache.org/jira/browse/HBASE-2338
> Project: Hadoop HBase
> Issue Type: Bug
> Affects Versions: 0.20.4
> Reporter: Kannan Muthukkaruppan
> Assignee: stack
> Fix For: 0.20.4, 0.21.0
>
> Attachments: delete.patch
>
>
> While working on HBASE-2283, noticed that if you do a put followed by a
> delete, and then crash the RS, and trigger log recovery to happen, then
> deleted entries may be resurrected.
> Suprisingly, the issue only affected delete of a specific column. Full row
> delete didn't run into this issue.
> ---
> Code inspection revealed that we might have an issue with timestamps & WAL
> stuff for delete that come in with "LATEST" timestamp. [Note: The "LATEST"
> timestamp is syntax sugar/hint to the RS to convert it to "now". ]
> Basically, in:
> {code}
> delete(byte [] family, List<KeyValue> kvs, boolean writeToWAL)
> {code}
> the "kv.updateLatestStamp(byteNow);" time stamp massaging (from LATEST to
> now) happens *after* the WAL log.append() call. So the KeyValue entries
> written to the HLog do not have the massaged timestamp. On recovery, when
> these entries are replayed, we add them back to reconstructionCache but don't
> do anything with timestamps.
> The above could be the potential source of the problem. But there could be
> more to the problem than my simple analysis. For instance, we still don't
> know why full row delete worked fine, but delete of a specific column didn't
> work ok. Forking this off as a separate issue from HBASE-2283.
> [Note: Aravind is starting to take a look at this issue.]
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.