-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Replication
-
Fully Compatible
-
ALL
-
200
-
None
-
None
-
None
-
None
-
None
-
None
-
None
In DataConsistencyChecker.canIgnoreCollectionDiff, the case where we find a mismatch in the config.image_collection collection is handled differently.
We are aware that this collection can be unreliable, so we use the invalidated property to disambiguate real data inconsistency from false positives.
However, because of the unstable nature of this collection, it is very difficult to rigorously prove that we can always trust this field.
Furthermore, according to this comment, if the txnNumber fields are different, then our retry logic will handle the mismatch appropriately, and worst-case scenario: a retryable write might fail, but no data loss or corruption will actually occur.
As a result, I think we should relax our special-case logic for confg.image_collection to only return false (as in we should not ignore) if doc1.txnNumber === doc2.txnNumber, since this is the only time where we might actually have a problematic correctness issue.
- is related to
-
SERVER-73532 Image collection must be invalidated even when namespace is missing during initial sync
-
- Closed
-