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

NegativeArraySizeException from scan thread right after minor compaction

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 1.8.0
    • Fix Version/s: 1.8.1, 2.0.0
    • Component/s: tserver
    • Labels:
    • Environment:

      Accumulo 1.8.0
      Java 1.8.0_72

      Description

      I have been getting NegativeArraySizeExceptions after upgrading to Accumulo 1.8.0. I have tracked it down to 2 or more concurrent scans on a tablet that has just undergone minor compaction. The minor compaction thread writes the in-memory map to a local temporary rfile and tries to switch the current iterators to use it instead of the native map. The iterator code in the scan thread may also switch itself to use the local temporary rfile it if notices it before the minor compaction threads performs the switch. This all works up to this point. Shortly after the switch one of the iterator threads will get a NegativeArraySizeException from:
      SourceSwitchingIterator.seek() -> SourceSwitchingIterator.readNext() -> MemKeyConversionIterator.seek() -> MemKeyConversionIterator.getTopKeyValue() ->MemValue.decode(). I added a bunch of logging to find that the length of the byte array passed to MemValue.decode is zero.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                dlmarion Dave Marion
                Reporter:
                dlmarion Dave Marion
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1.5h
                  1.5h