[ https://issues.apache.org/jira/browse/HBASE-4645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13132903#comment-13132903 ]
jirapos...@reviews.apache.org commented on HBASE-4645: ------------------------------------------------------ ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/2524/#review2755 ----------------------------------------------------------- Wow... Losing data?! And that went unnoticed for so long. I guess I don't understand when the store's maxid go out of sync and why this does not happen all the time. Nice find!! src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java <https://reviews.apache.org/r/2524/#comment6196> Good comment. Makes sense. Does that mean that up to now we could have failed to replay some of the logs and actually lose data?! (I guess, yes, that's how you describe the problem) src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALReplay.java <https://reviews.apache.org/r/2524/#comment6198> Is the because before your change it would not need to replay any logs, but now it does? - Lars On 2011-10-21 18:06:16, Amitanand Aiyer wrote: bq. bq. ----------------------------------------------------------- bq. This is an automatically generated e-mail. To reply, visit: bq. https://reviews.apache.org/r/2524/ bq. ----------------------------------------------------------- bq. bq. (Updated 2011-10-21 18:06:16) bq. bq. bq. Review request for Ted Yu, Michael Stack, Jonathan Gray, Lars Hofhansl, Amitanand Aiyer, Kannan Muthukkaruppan, Karthik Ranganathan, and Nicolas Spiegelberg. bq. bq. bq. Summary bq. ------- bq. bq. There is a data loss happening (for some of the column families) when we do the replay logs. bq. bq. The bug seems to be from the fact that during replay-logs we only choose to replay bq. the logs from the maximumSequenceID across ALL the stores. This is wrong. If a bq. column family is ahead of others (because the crash happened before all the column bq. families were flushed), then we lose data for the column families that have not yet bq. caught up. bq. bq. The correct logic for replay should begin the replay from the minimum across the bq. maximum in each store. bq. bq. bq. This addresses bug hbase-4645. bq. https://issues.apache.org/jira/browse/hbase-4645 bq. bq. bq. Diffs bq. ----- bq. bq. src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 8c32839 bq. src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALReplay.java 966262b bq. bq. Diff: https://reviews.apache.org/r/2524/diff bq. bq. bq. Testing bq. ------- bq. bq. Initial patch. v1. bq. bq. mvn test (running). bq. bq. TBD: add a test case to repro the issue and make sure it fixes. bq. bq. bq. Thanks, bq. bq. Amitanand bq. bq. > Edits Log recovery losing data across column families > ----------------------------------------------------- > > Key: HBASE-4645 > URL: https://issues.apache.org/jira/browse/HBASE-4645 > Project: HBase > Issue Type: Bug > Affects Versions: 0.89.20100924, 0.92.0 > Reporter: Amitanand Aiyer > Assignee: Amitanand Aiyer > > There is a data loss happening (for some of the column families) when we do > the replay logs. > The bug seems to be from the fact that during replay-logs we only choose to > replay > the logs from the maximumSequenceID across *ALL* the stores. This is wrong. > If a > column family is ahead of others (because the crash happened before all the > column > families were flushed), then we lose data for the column families that have > not yet > caught up. > The correct logic for replay should begin the replay from the minimum across > the > maximum in each store. -- 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