[ https://issues.apache.org/jira/browse/HBASE-2856?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12899544#action_12899544 ]
ryan rawson commented on HBASE-2856: ------------------------------------ one addendum to this proposal, the hadoop vint format already encodes the length in an "easy to read" way. For small values < 120 or so the vint is encoded in 1 byte, else it may take up to 9 bytes. > 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: ryan rawson > Priority: Blocker > Fix For: 0.90.0 > > > 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. - You can reply to this email to add a comment to the issue online.