accumulo-dev mailing list archives

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

                 Key: ACCUMULO-533
             Project: Accumulo
          Issue Type: Bug
            Reporter: Adam Fuchs
            Assignee: Adam Fuchs

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

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