Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.4.0
    • Fix Version/s: 1.4.1, 1.5.0
    • Component/s: None
    • Labels:
      None

      Description

      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.

        Activity

        Adam Fuchs created issue -
        Adam Fuchs made changes -
        Field Original Value New Value
        Fix Version/s 1.4.1 [ 12319882 ]
        Affects Version/s 1.4.0 [ 12318441 ]
        Adam Fuchs made changes -
        Fix Version/s 1.5.0 [ 12318645 ]
        Adam Fuchs made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Billie Rinaldi added a comment -

        Adam, you need to use our format and code template. New files must contain an Apache header. Eclipse configuration instructions are here:
        http://accumulo.apache.org/source.html

        Show
        Billie Rinaldi added a comment - Adam, you need to use our format and code template. New files must contain an Apache header. Eclipse configuration instructions are here: http://accumulo.apache.org/source.html
        Billie Rinaldi made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Hide
        Adam Fuchs added a comment -

        Formatting fixed.

        Show
        Adam Fuchs added a comment - Formatting fixed.
        Adam Fuchs made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Gavin made changes -
        Workflow no-reopen-closed, patch-avail [ 12662376 ] patch-available, re-open possible [ 12671642 ]

          People

          • Assignee:
            Adam Fuchs
            Reporter:
            Adam Fuchs
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development