[SERVER-49285] Support getMore on snapshot cursor even after unrelated index is created or dropped Created: 02/Jul/20 Updated: 06/Dec/22 Resolved: 09/Oct/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Catalog |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Max Hirschhorn | Assignee: | Backlog - Storage Execution Team |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Assigned Teams: |
Storage Execution
|
||||||||||||||||
| Participants: | |||||||||||||||||
| Description |
|
Creating or dropping an index raises the collection's minimum visible snapshot. This causes a getMore on a snapshot cursor to return a SnapshotUnavailable error response, even if it wouldn't use that index. Longer-running snapshot reads would be more useful if their query plan wasn't impacted by the change to the collection's minimum visible snapshot.
|
| Comments |
| Comment by Louis Williams [ 09/Oct/20 ] |
|
This was fixed by This behavior is tested here. |
| Comment by Louis Williams [ 21/Sep/20 ] |
|
Yes. I will add a test case for this in |
| Comment by Connie Chen [ 21/Sep/20 ] |
|
louis.williams is this related to your current work related to minimum snapshot changes? ( |
| Comment by Max Hirschhorn [ 16/Jul/20 ] |
milkie, my casual read of the query yielding code is that we don't re-check the collection's minimum visible snapshot after reacquiring locks and so query yielding isn't impacted by this issue. |
| Comment by Eric Milkie [ 16/Jul/20 ] |
|
Shouldn't the same problem exist when recovering from yield? Does it need to be fixed there as well? |
| Comment by Connie Chen [ 02/Jul/20 ] |
|
max.hirschhorn would you consider this to be blocking for PM-1504? |
| Comment by Louis Williams [ 02/Jul/20 ] |
|
I think this should go to Execution since this has always been a problem. |