[
https://issues.apache.org/jira/browse/HBASE-5414?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Phabricator updated HBASE-5414:
-------------------------------
Attachment: HBASE-5414.D1749.1.patch
aaiyer requested code review of "HBASE-5414 [jira] Assign different memstoreTS
to different KV's in the same WALEdit during replay".
Reviewers: JIRA
Initial diff for splitting the KV's in the same WALEdit into different
memstoreTS operations upon replay.
TBD:
Running unit tests on MR
Need to augument the test suite to reproduce the issue and fix.
<a href="https://issues.apache.org/jira/browse/HBASE-5203" title="Group
atomic put/delete operation into a single WALEdit to handle region server
failures."><del>HBASE-5203</del></a> combines all the different Puts/Deletes
into one WALEdit. This is
required to ensure that we persist the atomic mutation in its enterity and not
in parts.
When combined into a single WALEdit, we create one big familyMap that is a
combination
of all the family maps in the mutations. The KV's in this familyMap have no
information
about memstoreTS (it is not yet assigned).
However, when we apply the mutations to the Memstore (if there are no
failures) we end up
incrementing the memstoreTS for each operation.
This can lead to the client seeing different order of operations –
depending on weather or
not there was a RS crash/restart.
TEST PLAN
EMPTY
REVISION DETAIL
https://reviews.facebook.net/D1749
AFFECTED FILES
MANAGE HERALD DIFFERENTIAL RULES
https://reviews.facebook.net/herald/view/differential/
WHY DID I GET THIS EMAIL?
https://reviews.facebook.net/herald/transcript/3741/
Tip: use the X-Herald-Rules header to filter Herald messages in your client.
> Assign different memstoreTS to different KV's in the same WALEdit during
> replay
> -------------------------------------------------------------------------------
>
> Key: HBASE-5414
> URL: https://issues.apache.org/jira/browse/HBASE-5414
> Project: HBase
> Issue Type: Sub-task
> Components: client, coprocessors, regionserver
> Reporter: Amitanand Aiyer
> Fix For: 0.94.0
>
> Attachments: HBASE-5414.D1749.1.patch
>
>
> HBASE-5203 combines all the different Puts/Deletes into one WALEdit. This is
> required to ensure that we persist the atomic mutation in its enterity and not
> in parts.
> When combined into a single WALEdit, we create one big familyMap that is a
> combination
> of all the family maps in the mutations. The KV's in this familyMap have no
> information
> about memstoreTS (it is not yet assigned).
> However, when we apply the mutations to the Memstore (if there are no
> failures) we end up
> incrementing the memstoreTS for each operation.
> This can lead to the client seeing different order of operations -- depending
> on weather or
> not there was a RS crash/restart.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira