[ 
https://issues.apache.org/jira/browse/HBASE-13836?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14580134#comment-14580134
 ] 

Anoop Sam John edited comment on HBASE-13836 at 6/10/15 6:57 AM:
-----------------------------------------------------------------

Sorry for not observing this in 1st review.
{code}
+    long seqId = cell.getSequenceId();
+    assertEquals("After compaction: mob value", "mobValue1",
+      Bytes.toString(CellUtil.cloneValue(cell)));
+    // read the ref cell, not read further to the mob cell.
+    get.setAttribute(MobConstants.MOB_SCAN_RAW, Bytes.toBytes(true));
+    result = hTable.get(get);
+    cell = result.getColumnLatestCell(hcd1.getName(), Bytes.toBytes(qf1));
+    assertEquals("After compaction: mob cell seqId", seqId, 
cell.getSequenceId());
{code}
Here we try to assert the seqId of cell at client side.  We don't write it over 
wire.  SeqId make sense only at server.  May be you can have a test which do 
mob compaction and after that the read will return the correct MOB value.

Or else your test has to have some CPs where the postGet can get the seqId of 
returned cell. This may be not really needed IMO.


was (Author: anoop.hbase):
Sorry for not observing this in 1st review.
{code}
+    long seqId = cell.getSequenceId();
+    assertEquals("After compaction: mob value", "mobValue1",
+      Bytes.toString(CellUtil.cloneValue(cell)));
+    // read the ref cell, not read further to the mob cell.
+    get.setAttribute(MobConstants.MOB_SCAN_RAW, Bytes.toBytes(true));
+    result = hTable.get(get);
+    cell = result.getColumnLatestCell(hcd1.getName(), Bytes.toBytes(qf1));
+    assertEquals("After compaction: mob cell seqId", seqId, 
cell.getSequenceId());
{code}
Here we try to assert the seqId of cell at client side.  We don't write it over 
wire.  SeqId make sense only at server.  May be you can have a test which do 
mob compaction and after that the read will return the correct MOB value.

> Do not reset the mvcc for bulk loaded mob reference cells in reading
> --------------------------------------------------------------------
>
>                 Key: HBASE-13836
>                 URL: https://issues.apache.org/jira/browse/HBASE-13836
>             Project: HBase
>          Issue Type: Sub-task
>          Components: mob
>    Affects Versions: hbase-11339
>            Reporter: Jingcheng Du
>            Assignee: Jingcheng Du
>             Fix For: hbase-11339
>
>         Attachments: HBASE-13836-V2.diff, HBASE-13836.diff
>
>
> Now in scanner, the cells mvcc of the bulk loaded files are reset by the 
> seqId parsed from the file name. We need to skip this if the hfiles are 
> bulkloaded in mob compactions.
> In mob compaction, the bulk loaded ref cell might not be the latest cell 
> among the ones that have the same row key. In reading, the mvcc is reset by 
> the largest one, it will cover the real latest ref cell. We have to skip the 
> resetting in this case.
> The solution is we add a new field to fileinfo, when this field is set as 
> true, we skip the resetting.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to