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

Allow iterators to interrupt themselves

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.8.1, 2.0.0
    • Fix Version/s: 1.9.0, 2.0.0
    • Component/s: tserver
    • Labels:

      Description

      The idea here is to allow an iterator stack to send back a special key or throw a special exception which will allow the tablet server to tear down the scan to be rebuilt later. This is to handle the case where an iterator is doing a lot of work without returning results to avoid starving out other scans.

      There are two thoughts on how to do this:
      1) A special "interrupt" key is returned from the getTopKey call that is detected in the Tablet.nextBatch call, is not added to the results, but is used to add an unfinished range and results in the remaining ranges to be deemed unfinished.
      2) An special exception is thrown from the next or seek call that included the key of the current position, and the same actions are taken as in 1).

        Attachments

          Activity

            People

            • Assignee:
              ivan.bella Ivan Bella
              Reporter:
              ivan.bella Ivan Bella
            • Votes:
              0 Vote for this issue
              Watchers:
              3 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 - 18h 20m
                18h 20m