hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ramkrishna.s.vasudevan (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-16372) References to previous cell in read path should be avoided
Date Fri, 30 Sep 2016 10:26:20 GMT

     [ 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_3.patch

Patch for trunk. 
On the read side after discussion, have ensured that every time on a shipped call we do a
copy of all the cells that are used in read path as state variables (in StoreScanner, SQM
and CT).
Similarly the Write path also now adds a CellSink to all the Writers which is of type Shipper.
So when the compactor calls shipped on the KVScanner we do call shipped() on all the writers.
Thus copying all the CElls in the write path.

> 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_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)

Mime
View raw message