Support reftables in Praefect voting
Praefect transactions use a voting mechanism to accept/reject a particular transaction. Each vote hashes some data, which is used to verify if a vote is valid or not. But with the introduction of reftables, hashing .git/refs
and .git/packed-refs
is no longer possible and this breaks a lot of APIs which rely on this mechanism.
Fixing this would involve thinking of an alternate strategy for this issue. Perhaps using git-for-each-ref
instead of relying on a filesystem walk for refs information?
The following tests should be able to run with reftables as an outcome of this issue:
-
TestInfoService_RepositoryReplicas -
TestProcessBacklog_FailedJobs -
TestProcessBacklog_Success -
TestRemoveRepositorySubcommand -
TestReplMgr_ProcessBacklog -
TestReplicateRepository_transactional -
TestVerifier -
TestCreateRepositoryFromBundle_transactional
Edited by Karthik Nayak