[SERVER-27034] views_legacy.js should test OP_GET_MORE/OP_KILL_CURSORS against a view Created: 14/Nov/16 Updated: 05/Apr/17 Resolved: 16/Nov/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Kyle Suarez | Assignee: | James Wahlin |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | read-only-views | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Sprint: | Query 2016-11-21 | ||||||||
| Participants: | |||||||||
| Description |
|
A driver that wishes to interact with a view must use the new command path (OP_COMMAND); the legacy protocols are not supported. views_legacy.js tests that the legacy write and legacy find paths fail appropriately, but it lacks a test for OP_GET_MORE and OP_KILL_CURSORS. |
| Comments |
| Comment by James Wahlin [ 16/Nov/16 ] |
|
This was was done under |
| Comment by James Wahlin [ 15/Nov/16 ] |
|
Legacy OP_KILL_CURSORS will work against a cursor established on a view. We store the underlying collection namespace in the cursor manager. As the legacy kill operation takes only a cursorId, it will map this ID correctly and kill the cursor. For the kill cursors command we take a cursorId and the view namespace. This code path has logic to convert the view namespace to the underlying collection namespace so that the requested namespace matches that in the cursor manager. Given the above I will add a test confirming that the OP_KILL_CURSORS is successful against a cursorId representing a view read. |
| Comment by James Wahlin [ 15/Nov/16 ] |
|
I will add these tests along with my work for |