[SERVER-76232] Do not crash when index inconsistencies are detected in WiredTiger Created: 18/Apr/23  Updated: 29/Oct/23  Resolved: 14/Jun/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.1.0-rc0

Type: Bug Priority: Major - P3
Reporter: Louis Williams Assignee: Yujin Kang Park
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-76978 Ensure dbCheck does not fail immediat... Open
is depended on by SERVER-76977 Ensure that validate does not fail im... Backlog
Related
related to SERVER-71950 Fail and log the operation when out-o... Closed
related to SERVER-74793 dbCheck behaves differently on primar... Closed
related to SERVER-76231 Validate should not fail immediately ... Closed
Assigned Teams:
Storage Execution
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Execution Team 2023-06-12, Execution EMEA Team 2023-06-26
Participants:

 Description   

We currently terminate the process in multiple locations when we detect index inconsitencies:

Crashing the process is quite dangerous for many reasons, and should only be done as a last resort. In all of these locations, we should evaluate if we can safely throw an exception and write to the health log. For our testing we can still crash. Additionally, if we were to encounter any of these a key out-of-order issue in validate or dbCheck when scanning an index, this would terminate the process, and would not be particularly useful for understanding the extent of any data corruption.

Instead, we should do what we did in SERVER-71950 and log a warning, write to the health log, and throw an exception. Like what we're doing in SERVER-74793 and SERVER-76231, we should also ensure dbCheck and validate do not fail when they encounter this inconsistency.



 Comments   
Comment by Githook User [ 14/Jun/23 ]

Author:

{'name': 'Yu Jin Kang Park', 'email': 'yujin.kang@mongodb.com', 'username': 'ykangpark'}

Message: SERVER-76232 Throw instead of fatally asserting on data corruption detection in WiredTigerIndex
Branch: master
https://github.com/mongodb/mongo/commit/997f8409465224d1452c612bf12e94fef0c75835

Comment by Connie Chen [ 09/May/23 ]

Product Sync Notes: Leads and PMs believe this can stay a ticket and should be scheduled soon to prevent crashing, throwing this to needs scheduling to get scheduled.

Generated at Thu Feb 08 06:32:09 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.