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]

Reply via email to