[
https://issues.apache.org/jira/browse/HBASE-1738?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
stack resolved HBASE-1738.
--------------------------
Resolution: Fixed
Hadoop Flags: [Reviewed]
Thanks for the help Jon.
Committed branch and trunk.
> Scanner doesnt reset when a snapshot is created, could miss new updates into
> the 'kvset' (active part)
> ------------------------------------------------------------------------------------------------------
>
> Key: HBASE-1738
> URL: https://issues.apache.org/jira/browse/HBASE-1738
> Project: Hadoop HBase
> Issue Type: Bug
> Affects Versions: 0.20.0
> Reporter: ryan rawson
> Assignee: stack
> Fix For: 0.20.0
>
> Attachments: 1738-v2.patch, 1738-v3-withheapsizefix.patch,
> 1738-v3.patch, 1738.patch
>
>
> when a Scanner is created, it creates 2 MemStoreScanners on the kvset and the
> snapshot (internal names of Memstore)... if the snapshot is originally empty,
> it only creates the 1, for kvset. When the snapshot is created, the
> outstanding Scanners now have a pointer to the tree that is now the snapshot,
> but no pointer to the kvset.
> When the flush completes, the scanner will reset the memstore scanners and
> 'see' the new values again.
> If there is a large delay between snapshot and finalization of the flush,
> there can be a large period of time a scanner doesnt see 'new' values that
> are being inserted. the canonical 'bad' case where this can do things is the
> META scanner, and we end up with double assignment.
> The snapshot is really lightweight, it only takes out a small lock in
> memstore, so im not sure there is an easy mechanism to hook to without
> building out a bit more code or restructuring the memstore scanner.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.