[SERVER-12123] audit interrupt points for new query system runners Created: 16/Dec/13 Updated: 10/Dec/14 Resolved: 22/Jan/14 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Querying |
| Affects Version/s: | 2.5.4 |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | David Storch | Assignee: | David Storch |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Participants: |
| Description |
|
Right now the query system doesn't do a good job of checking whether the operation has been killed using
This can make it impossible to kill long-running queries. Runners should check for interrupt inside their getNext() method. |
| Comments |
| Comment by Eric Milkie [ 16/Dec/13 ] |
|
Definitely still a good idea to audit the new runner to make sure interrupt points (and yield points) are hit at all proper times through the loop; a lot has changed since the original query code. |
| Comment by David Storch [ 16/Dec/13 ] |
|
milkie, good to know, thanks. Discussed with Hari earlier and thought there may be some missing interrupt points in the runners. If we already check for interrupt at yield points, then there may not be any action to take here. |
| Comment by Eric Milkie [ 16/Dec/13 ] |
|
In general, I believe that we check for interrupt at yield points, and a well-behaved query will yield at a reasonable interval. |