devmadhuu opened a new pull request, #11494: URL: https://github.com/apache/ozone/pull/11494
## What changes were proposed in this pull request? This PR change is for issue where Recon’s OM full reprocess was replacing `recon-container-key.db`, an empty DB without any previous records, losing replica history for departed datanodes. This PR moves `replica_history_v2` into a dedicated `recon-container-replica-history.db`, preserving history across OM reprocess and SCM snapshot replacement without copying millions of records on every reinitialization. Existing history is migrated once through Recon’s versioned upgrade framework using SST export/import. Migration is restartable and completes before version finalization. Shutdown flushes also preserve departed replica records. Adds regression coverage for migration/retry, database replacement, and restart preservation. ## What is the link to the Apache JIRA https://issues.apache.org/jira/browse/HDDS-16939 ## How was this patch tested? Added regression tests covering replica-history migration and retry, preservation across OM reprocess and SCM snapshot replacement, shutdown/restart preservation, and upgrade-version persistence failures. Following test classes were updated/added: - `TestReconReplicaHistoryDBProvider`: six tests covering migration, incomplete migration retry, repeated database swaps, and shutdown/restart preservation. - `TestReconVersionManager`: three upgrade tests covering migration before finalization, migration failure, and version-persistence failure/retry. - `TestContainerEndpoint`: added departed-replica history preservation through OM reprocess. - `TestReconStorageContainerManagerFacade`: extended SCM snapshot coverage to verify history preservation. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
