Skip to content

Better handle case where IvaratorRunnable gets stuck during yield / suspend #3214

@billoley

Description

@billoley

If an IvaratorRunnable is being suspended on a yield and an Accumulo scan prevents it from checking suspendRequested for greater than 60 seconds, then the suspend request will return, the yield will be processed, and

  1. the IvaratorRunnable will likely get an exception when using the Accumulo source and print an ERROR log
  2. Accumulo will reseek on the yieldKey and the new Ivarator will create a new IvaratorRunnable instead of resuming the one that failed to suspend

To limit unnecessary ERRORs in the log, we should log at INFO if the suspendRequested AtomicBoolean is set and ERROR otherwise

While some code is in place to make maxYields configurable, it is not coded throuth to the query logic configuration the same way that the yield threshold is. We should fix this and sen the maxYields to 20 which would then be > 60 minutes at which point the query will time out in the webservice.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions