Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-1252

Race condition in BulkImport causes ConcurrentModificationException

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.4.2
    • 1.4.4
    • None
    • None

    Description

      The LoadFiles class gets a synchronized list of files to import and, while iterating over that list, creates another list of Callable's. If the list of files to load is long enough, it's possible that a bulk import on a previous file in the list could finish and remove itself from the master list before all of the commands to import the rest of the files are created. This causes a ConcurrentModificationException when trying to fetch the next file to load.

      I think the concurrent lists support an iterator that will not fail if the underlying list is modified, but if not, I think this can be solved by first creating a list of Callables and then adding them to the thread pool in a separate loop.

      Attachments

        Activity

          People

            ecn Eric C. Newton
            bills William Slacum
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: