[ 
https://issues.apache.org/jira/browse/HBASE-16372?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ramkrishna.s.vasudevan updated HBASE-16372:
-------------------------------------------
    Attachment: HBASE-16372_5_withfactory.patch

Updated patch addressing the comments. Now creates seperate impl of 
HFileWriterImpl and CompoundBloomfilterWriter specifc for compactions and only 
those call the method in ShipperListener. Note that this listener is not of the 
usual pattern where we register for an event and then work based on that 
instead the Writers are of this type and before the actual shipped() call 
happens in Compaction flow we call the beforeShipping() method in 
ShipperListener.

> References to previous cell in read path should be avoided
> ----------------------------------------------------------
>
>                 Key: HBASE-16372
>                 URL: https://issues.apache.org/jira/browse/HBASE-16372
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Scanners
>    Affects Versions: 2.0.0
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>            Priority: Blocker
>             Fix For: 2.0.0
>
>         Attachments: HBASE-16372_1.patch, HBASE-16372_2.patch, 
> HBASE-16372_3.patch, HBASE-16372_5_withfactory.patch, 
> HBASE-16372_testcase.patch, HBASE-16372_testcase_1.patch
>
>
> Came as part of review discussion in HBASE-15554. If there are references 
> kept to previous cells in the read path, with the Ref count based eviction 
> mechanism in trunk, then chances are there to evict a block backing the 
> previous cell but the read path still does some operations on that garbage 
> collected previous cell leading to incorrect results.
> Areas to target
> -> Storescanner
> -> Bloom filters (particularly in compaction path)
> Thanks to [~anoop.hbase] to point out this in bloomfilter path. But we found 
> it could be in other areas also.



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

Reply via email to