[ https://issues.apache.org/jira/browse/HBASE-2856?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12989682#comment-12989682 ]
Nicolas Spiegelberg commented on HBASE-2856: -------------------------------------------- http://rhaas.blogspot.com/2011/02/mysql-vs-postgresql-part-2-vacuum-vs.html Interesting article comparing how InnoDB and PostgreSQL handle RWCC for roughly this same issue. > TestAcidGuarantee broken on trunk > ---------------------------------- > > Key: HBASE-2856 > URL: https://issues.apache.org/jira/browse/HBASE-2856 > Project: HBase > Issue Type: Bug > Affects Versions: 0.89.20100621 > Reporter: ryan rawson > Assignee: stack > Priority: Blocker > Fix For: 0.92.0 > > Attachments: 2856-v2.txt, 2856-v3.txt, 2856-v4.txt, 2856-v5.txt, > acid.txt > > > TestAcidGuarantee has a test whereby it attempts to read a number of columns > from a row, and every so often the first column of N is different, when it > should be the same. This is a bug deep inside the scanner whereby the first > peek() of a row is done at time T then the rest of the read is done at T+1 > after a flush, thus the memstoreTS data is lost, and previously 'uncommitted' > data becomes committed and flushed to disk. > One possible solution is to introduce the memstoreTS (or similarly equivalent > value) to the HFile thus allowing us to preserve read consistency past > flushes. Another solution involves fixing the scanners so that peek() is not > destructive (and thus might return different things at different times alas). -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira