[SERVER-67796] Persist the result of the doCompactOperation in the compaction coordinator Created: 05/Jul/22  Updated: 29/Oct/23  Resolved: 30/Jul/22

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

Type: Bug Priority: Major - P3
Reporter: Erwin Pe Assignee: Erwin Pe
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Related
related to SERVER-68461 Persist the result of the doCompactOp... Closed
related to SERVER-68373 Remove Pre-6.1 and Pre-7.0 compatible... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v6.0
Sprint: Security 2022-07-11, Security 2022-08-08
Participants:
Linked BF Score: 14

 Description   

The return value of the doCompactOperation is assigned to the member variable _response, which is in-memory state that is not persisted by the coordinator. Since this variable is being assigned in the penultimate kCompactStructuredEncryptionData phase of _runImpl, it is possible to lose this data if a stepdown occurs while in the middle of the final phase. And when the new primary resumes, it'll have an invalid _response value, which may cause an invariant failure.



 Comments   
Comment by Githook User [ 29/Jul/22 ]

Author:

{'name': 'Erwin Pe', 'email': 'erwin.pe@mongodb.com', 'username': 'erwee'}

Message: SERVER-67796 Persist the result of doCompactOperation in the compaction coordinator
Branch: master
https://github.com/mongodb/mongo/commit/a2a8ab39110826d70081ee680f34bb9d342d24d5

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