Details
-
Task
-
Resolution: Unresolved
-
Major - P3
-
None
-
None
-
None
-
Storage Execution
Description
There has been a pattern of DBException to Status conversions that leave TemporarilyUnavailable and TransactionTooLargeForCache errors unhandled. See SERVER-81978 and SERVER-80461.
We should audit locations where this conversion happens. The following lists places that compare the status with ErrorCodes::WriteConflict, so they're potentially susceptible to missing checks for TemporarilyUnavailable and TransactionTooLargeForCache.
- KeyStringIndexConsistency::traverseIndex (2 locations)
- IndexBuildsCoordinator::_completeExternalAbort
- src/mongo/db/ops/write_ops_exec.cpp (3 locations, related to timeseries)
- OplogApplierUtils::applyOplogEntryOrGroupedInsertsCommon
- ReshardingOplogApplicationRules::ReshardingOplogApplicationRules
- timeseries::attemptInsertIntoBucket
Attachments
Issue Links
- related to
-
SERVER-80461 Handle TemporarilyUnavailable and TransactionTooLargeForCache on _applyPrepareTransaction
-
- Closed
-
-
SERVER-81978 repl::applyCommand_inlock does not handle TemporarilyUnavailable and TransactionTooLargeForCache exceptions
-
- Closed
-