Problem Statement
When migrating retryable CRUD op session entries, we generate a prePostImage oplog entry if necessary.
Later in the process, we filter out these CRUD op entries, but not their corresponding prePostImageOplog entries. We skip the latter because the prePostImage oplog entries are created as no-ops.
We should also filter out corresponding prePostImage oplog entries.
Proposed Solution
We currently have two types of no-op entries that will come through the session catalog migration pipeline. These are either sentinel oplog entries or prePostImage oplog entries. We should:
- Automatically let sentinel oplog entries pass through, and
- Check the pre- or postImage in prePostImage oplog entries to filter based on a mismatched shard key.
- is depended on by
-
SERVER-39844 Create concurrency workload with migrations and shard key value updates
- Closed
- related to
-
SERVER-56127 Retryable update may execute more than once if chunk is migrated and shard key pattern uses nested fields
- Closed