During resharding_oplog_sync_agg_assert_min_oplog.js:
[js_test:resharding_oplog_sync_agg_assert_min_oplog] [jsTest] ---- [js_test:resharding_oplog_sync_agg_assert_min_oplog] [jsTest] Run aggregation pipeline on oplog with $_requestReshardingResumeToken set [js_test:resharding_oplog_sync_agg_assert_min_oplog] [jsTest] ---- [js_test:resharding_oplog_sync_agg_assert_min_oplog] [js_test:resharding_oplog_sync_agg_assert_min_oplog] d20770| 2021-04-06T19:17:58.193+00:00 F - 23079 [conn1] "Invariant failure","attr":{"expr":"tsSlot","file":"src/mongo/db/query/sbe_stage_builder_coll_scan.cpp","line":212} [js_test:resharding_oplog_sync_agg_assert_min_oplog] d20770| 2021-04-06T19:17:58.193+00:00 F - 23080 [conn1] "\n\n***aborting after invariant() failure\n\n" [js_test:resharding_oplog_sync_agg_assert_min_oplog] d20770| 2021-04-06T19:17:58.193+00:00 F CONTROL 4757800 [conn1] "Writing fatal message","attr":{"message":"Got signal: 6 (Aborted).\n"}
The site of the invariant failure is in generateOptimizedOplogScan() :
// We will be constructing a filter that needs to see the 'ts' field. We name it 'minTsSlot' // here so that it does not shadow the 'tsSlot' which we allocated earlier. auto&& [fields, minTsSlots, minTsSlot] = makeOplogTimestampSlotsIfNeeded( collection, slotIdGenerator, csn->shouldTrackLatestOplogTimestamp); // We should always have allocated a 'minTsSlot', and there should always be a 'tsSlot' // already allocated for the existing scan that we created previously. invariant(minTsSlot); invariant(tsSlot); // <------ fails
Affected tests:
- resharding_oplog_sync_agg_assert_min_oplog.js
- resharding_oplog_sync_agg_resume_token.js
- related to
-
SERVER-55010 Enable sharding suite against SBE build variant
- Closed