[
https://issues.apache.org/jira/browse/HBASE-810?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jim Kellerman resolved HBASE-810.
---------------------------------
Resolution: Fixed
Committed to 0.2 branch and trunk. Thanks for the patch JD!
> Prevent temporary deadlocks when, during a scan with write operations, the
> region splits
> ----------------------------------------------------------------------------------------
>
> Key: HBASE-810
> URL: https://issues.apache.org/jira/browse/HBASE-810
> Project: Hadoop HBase
> Issue Type: Bug
> Affects Versions: 0.2.0
> Reporter: Jean-Daniel Cryans
> Priority: Blocker
> Fix For: 0.2.1, 0.3.0
>
> Attachments: hbase-810-v1.patch, lock-sequencing.jpg,
> locking-compatibility.jpg
>
>
> HBASE-804 was not about the good problem, this one is. Anyone that iterates
> through the results of a scanner and that rewrites data back into the row at
> each iteration will hit a UnknownScannerException if a split occurs. See the
> stack in the referred jira. Timeline :
> Split occurs, acquires a write lock and waits for scanners to finish
> The scanner in the custom code iterates and writes data until the write is
> blocked by the lock
> deadlock
> The scanner timeouts thus the region splits but the USE will be thrown when
> next() is called
> Inside a Map, the task will simply be retried when the first one fails.
> Elsewhere, it becomes more complicated.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.