|
When sharding cluster starts up it needs to have the key for signing cluster time to be established.
However there is no need to block initialization of other services. Instead the blocking wait will be moved to the points when mongos needs to verify the signature and mongod needs to sign logicalTime.
1. Change TimeProofService c-tor signature to take no arguments
2. Change TimeProofService::getProof(const LogicalTime& key, const Key& key) (i.e. add a key arg)
3. Change TimeProofService::checkProof(const LogicalTime& time, const TimeProof& proof, const Key& key) (i.e. add a key arg)
4. Add a test only method that will install a temporary key that LogicalClock always pass to TPS.
5. Run all tests with the test-only method set the key to make sure that we dont break anything meanwhile.
|