[
https://issues.apache.org/jira/browse/HBASE-2856?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13124634#comment-13124634
]
[email protected] commented on HBASE-2856:
------------------------------------------------------
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2224/#review2499
-----------------------------------------------------------
Amit:
This is looking really good.
+1 on the changes. You mentioned the TestAcidGuarantees still has some issues--
so +1 pending a resolution of that.
There are still some whitespace issues. Also, please find some inlined comments.
regards,
Kannan
/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java
<https://reviews.apache.org/r/2224/#comment5658>
1) Unfortunate that we have to create these two objects
(ByteArrayInputStream & DataInputStream) for every KV. I suppose if this
becomes an issue we could add overloads in WriteableUtils.readVLong that
directly work on byte arrays instead of requiring a DataInput stream. [Probably
not a big deal-- but just something to remember.]
2) Could you combine lines 582 & 583 by using this overload of the
constructor:
public ByteArrayInputStream(byte[] buf,
int offset,
int length)
- Kannan
On 2011-10-10 23:35:00, Amitanand Aiyer wrote:
bq.
bq. -----------------------------------------------------------
bq. This is an automatically generated e-mail. To reply, visit:
bq. https://reviews.apache.org/r/2224/
bq. -----------------------------------------------------------
bq.
bq. (Updated 2011-10-10 23:35:00)
bq.
bq.
bq. Review request for Ted Yu, Michael Stack, Kannan Muthukkaruppan, and
Karthik Ranganathan.
bq.
bq.
bq. Summary
bq. -------
bq.
bq. address the 2856 issues by writing the memstoreTS to the disk.
bq.
bq. version v11 of the patch.
bq.
bq. uploading it here for easier review process.
bq.
bq.
bq. This addresses bug HBASE-2856.
bq. https://issues.apache.org/jira/browse/HBASE-2856
bq.
bq.
bq. Diffs
bq. -----
bq.
bq. /src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileReader.java
1181113
bq. /src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV1.java
1181113
bq. /src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java
1181113
bq. /src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV2.java
1181113
bq. /src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 1181113
bq.
/src/main/java/org/apache/hadoop/hbase/regionserver/ReadWriteConsistencyControl.java
1181113
bq.
/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
1181113
bq. /src/main/java/org/apache/hadoop/hbase/regionserver/Store.java 1181113
bq. /src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java
1181113
bq. /src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
1181113
bq. /src/test/java/org/apache/hadoop/hbase/TestAcidGuarantees.java 1181113
bq. /src/test/java/org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.java
1181113
bq. /src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV2.java
1181113
bq. /src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java
1181113
bq.
bq. Diff: https://reviews.apache.org/r/2224/diff
bq.
bq.
bq. Testing
bq. -------
bq.
bq. mvn test
bq.
bq.
bq. Thanks,
bq.
bq. Amitanand
bq.
bq.
> 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: Amitanand Aiyer
> Priority: Blocker
> Fix For: 0.94.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.
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