Details
-
Bug
-
Resolution: Fixed
-
Major - P3
-
None
-
None
-
Fully Compatible
-
ALL
-
Platforms 2017-10-02
Description
Seen here:
2017-09-20T14:36:56.665+0000 I COMMAND [conn44] CMD: drop pymongo_test.test_change_stream.TestChangeStream.test_iteration
|
2017-09-20T14:36:56.665+0000 I STORAGE [conn44] dropCollection: pymongo_test.test_change_stream.TestChangeStream.test_iteration - renaming to drop-pending collection: pymongo_test.system.drop.1505918216i32t2.test_change_stream.TestChangeStream.test_iteration with drop optime { ts: Timestamp 1505918216000|32, t: 2 }
|
2017-09-20T14:36:56.691+0000 I REPL [replication-0] Completing collection drop for pymongo_test.system.drop.1505918216i32t2.test_change_stream.TestChangeStream.test_iteration with drop optime { ts: Timestamp 1505918216000|32, t: 2 } (notification optime: { ts: Timestamp 1505918216000|32, t: 2 })
|
2017-09-20T14:36:56.701+0000 I COMMAND [conn44] CMD: drop pymongo_test.test_change_stream.TestChangeStream.test_iteration
|
2017-09-20T14:36:56.732+0000 F - [conn44] Invariant failure pin == ErrorCodes::CursorNotFound src/mongo/db/cursor_manager.cpp 178
|
2017-09-20T14:36:56.732+0000 F - [conn44]
|
|
|
***aborting after invariant() failure
|
|
|
|
|
2017-09-20T14:36:56.741+0000 F - [conn44] Got signal: 6 (Aborted).
|
|
|
|
|
mongod(_ZN5mongo13CursorManager29eraseCursorGlobalIfAuthorizedEPNS_16OperationContextEiPKc+0x48) [0x7f7977f88c38]
|
mongod(_ZN5mongo23ServiceEntryPointMongod13handleRequestEPNS_16OperationContextERKNS_7MessageE+0x1AB9) [0x7f7977a7bc19]
|
mongod(_ZN5mongo19ServiceStateMachine15_processMessageERNS0_11ThreadGuardE+0xF0) [0x7f7977a83670]
|
mongod(_ZN5mongo19ServiceStateMachine15_runNextInGuardERNS0_11ThreadGuardE+0x1B5) [0x7f7977a80665]
|
I think PyMongo is executing:
def test_iteration(self):
|
with self.coll.watch(batch_size=2) as change_stream:
|
num_inserted = 10
|
self.coll.insert_many([{} for _ in range(num_inserted)])
|
self.coll.drop()
|
received = 0
|
for change in change_stream:
|
received += 1
|
There may be a session bug in PyMongo right now that uses different lsids for the aggregate and getMore commands - this might or might not be related.
mongod.log attached