[CDRIVER-2578] mongoc_change_stream_t can send getMore with wrong lsid Created: 29/Mar/18  Updated: 28/Oct/23  Resolved: 03/Apr/18

Status: Closed
Project: C Driver
Component/s: libmongoc
Affects Version/s: 1.9.0
Fix Version/s: 1.9.4

Type: Bug Priority: Major - P3
Reporter: A. Jesse Jiryu Davis Assignee: Kevin Albertson
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to PHPC-1152 Aggregate may fail to use the same se... Closed
related to PHPLIB-342 Change streams should use the same se... Closed
related to PHPC-1161 Free reference to Session once Cursor... Closed

 Description   

A change stream can forget its implicit session between the initial "aggregate" and subsequent "getMore" commands.



 Comments   
Comment by Githook User [ 10/Apr/18 ]

Author:

{'name': 'Kevin Albertson', 'username': 'kevinAlbs', 'email': 'kevin.albertson@10gen.com'}

Message: CDRIVER-2578 changestream getmore and agg lsid

collection_watch runs an aggregate command with
collection_read_command_with_opts and then creates a cursor with
cursor_new_from_command_reply. To ensure they use the same implicit
session lsid, the change_stream_t must be responsible for creating
the implicit session and pass this session to both the command and
cursor as if it were an explicit session.
Branch: r1.9-dfsg
https://github.com/mongodb/mongo-c-driver/commit/5415c883c3ea1e99a09644ddbd4f201b369f40a5

Comment by Githook User [ 10/Apr/18 ]

Author:

{'email': 'kevin.albertson@10gen.com', 'name': 'Kevin Albertson', 'username': 'kevinAlbs'}

Message: CDRIVER-2578 changestream getmore and agg lsid

collection_watch runs an aggregate command with
collection_read_command_with_opts and then creates a cursor with
cursor_new_from_command_reply. To ensure they use the same implicit
session lsid, the change_stream_t must be responsible for creating
the implicit session and pass this session to both the command and
cursor as if it were an explicit session.
Branch: debian
https://github.com/mongodb/mongo-c-driver/commit/5415c883c3ea1e99a09644ddbd4f201b369f40a5

Comment by Githook User [ 03/Apr/18 ]

Author:

{'email': 'kevin.albertson@10gen.com', 'name': 'Kevin Albertson', 'username': 'kevinAlbs'}

Message: CDRIVER-2578 changestream getmore and agg lsid

collection_watch runs an aggregate command with
collection_read_command_with_opts and then creates a cursor with
cursor_new_from_command_reply. To ensure they use the same implicit
session lsid, the change_stream_t must be responsible for creating
the implicit session and pass this session to both the command and
cursor as if it were an explicit session.
Branch: r1.9
https://github.com/mongodb/mongo-c-driver/commit/5415c883c3ea1e99a09644ddbd4f201b369f40a5

Comment by Githook User [ 02/Apr/18 ]

Author:

{'email': 'kevin.albertson@10gen.com', 'name': 'Kevin Albertson', 'username': 'kevinAlbs'}

Message: CDRIVER-2578 changestream getmore and agg lsid

collection_watch runs an aggregate command with
collection_read_command_with_opts and then creates a cursor with
cursor_new_from_command_reply. To ensure they use the same implicit
session lsid, the change_stream_t must be responsible for creating
the implicit session and pass this session to both the command and
cursor as if it were an explicit session.
Branch: master
https://github.com/mongodb/mongo-c-driver/commit/490306b586b5d4106a8b93cd903b443bde1ed980

Generated at Wed Feb 07 21:15:39 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.