accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Fuchs (Resolved) (JIRA)" <>
Subject [jira] [Resolved] (ACCUMULO-533) make system iterators thread-safer
Date Fri, 13 Apr 2012 20:20:17 GMT


Adam Fuchs resolved ACCUMULO-533.

    Resolution: Fixed
> make system iterators thread-safer
> ----------------------------------
>                 Key: ACCUMULO-533
>                 URL:
>             Project: Accumulo
>          Issue Type: Bug
>    Affects Versions: 1.4.0
>            Reporter: Adam Fuchs
>            Assignee: Adam Fuchs
>             Fix For: 1.5.0, 1.4.1
> It is possible that at some point in the future users will want to write multi-threaded
iterators. This could possibly introduce thread safety problems in the system iterators, especially
in the case where multiple threads might be calling "next", "getTopKey", etc. at the same
time. In order to maintain some semblance of sanity, we need to synchronize these methods
at the top of the system iterator tree. Eventually, we might also want to change the iterator
API to make it useful to call multiple of these methods concurrently, but that will be in
another ticket.
> The immediate solution calls for a simple iterator that is similar to the WrappingIterator
called the SynchronizedIterator, all of whose public methods are synchronized on the object's
monitor. In single-node performance testing we found the read performance cost of this solution
to be below the noise threshold, approximately less than a 1% cost.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message