Geo: Extract wiki replication and verification data in its own table
Summary
In the current implementation, we have the following to track projects and wikis replication and verification:
- We have 1 row in the
project_repository_statetable in the main database to track project and wiki verification - We have 1 row in the
project_registrytable in the tracking database to handle project and wiki replication and synchronization.
As part of &4623 (closed), we need to separate projects and wikis in their tables.
Proposal
-
Extract wiki replication and verification data in its own table:
- Create the table
wiki_repository_stateto track the verification state for wiki repositories; - Make the legacy code responsible to verify wikis to maintain both wiki tables
project_repository_stateandwiki_repository_statesimultaneously until %16.0 behind a feature flaggeo_project_wikis_ssf_migration; - Create the registry table
wiki_repository_registryto track replication and verification state for wiki repositories; - Make the legacy code responsible for replicating/verifying wikis to maintain both wiki tables
project_registryandwiki_repository_registrysimultaneously until %16.0 behind a feature flaggeo_project_wikis_ssf_migration; - Change the metrics gathering implementation to support both tables behind a feature flag
geo_project_wikis_ssf_migration; - Enable the
geo_project_wikis_ssf_migrationfeature flag;
- Create the table
-
Migrate wikis replication/verification to use SSF
- Make the SSF code responsible to verify wikis to maintain both wiki tables
project_repository_stateandwiki_repository_statesimultaneously until %16.0 behind a feature flaggeo_project_wikis_ssf_migration; - Make the SSF code responsible for replicating/verifying wikis to maintain both wiki tables
project_registryandwiki_repository_registrysimultaneously until %16.0 behind a feature flaggeo_project_wikis_ssf_migration;
- Make the SSF code responsible to verify wikis to maintain both wiki tables
-
Warning about updating to %16.0 if there is any remaining unmigrated data
- Create a rake task to check if there is any remaining unmigrated data;
- Create a rake task to migrate any remaining unmigrated data;
- Update the version-specific upgrade docs, to tell customers to check if there is any remaining unmigrated data or run the rake task to migrate the data, otherwise, unmigrated wikis will be resynced after upgrade to version %16.0;
-
Remove projects and wikis migration code in %16.1
- Remove the feature flag
geo_project_wikis_ssf_migration; - Remove wiki columns in the
project_repository_statetable; - Remove wiki columns in the
project_registrytable; - Remove the legacy code responsible for replicating/verifying project and wiki repositories;
- Remove the feature flag
Edited by Douglas Barbosa Alexandre