corda-runtime-os
corda-runtime-os copied to clipboard
CORE-9164 - Persist mgm info on member side
During virtual node creation and upgrade, we parse the MGM information from the group policy file in the CPI and publish it to kafka. This means that the information only exists in the member list on kafka, or in the group policy file. For other members (i.e. everyone other than the MGM) the member list will be received from the MGM, persisted to the database, and published to kafka. In the case of kafka failure, the virtual node database reconciliation will help recovery by reconciling the member list from the database to kafka. As it currently stands, the mgm info would need to be retrieved from the group policy, adding additional complexity to the reconciliation which should be as lightweight as possible. To simplify the member list handling and the reconciliation, we should persist the MGMs member info to the member’s member list database table when we also publish to kafka so that the reconciliation can recover easier in case of kafka failure.
Solution Because the VirtualNodeInfoProcessor could not process the vnode record required to access the vnode vault DB in time, I decided to move the mGM info publishing and persistence to the dynamic registration service instead.
Testing
After successful registration MGM information got persisted into member DB:
E2E tests build: https://ci02.dev.r3.com/blue/organizations/jenkins/Corda5%2Fcorda5-e2e-tests/detail/release%2F5.2/1137/pipeline Multi cluster E2E build: https://ci02.dev.r3.com/blue/organizations/jenkins/Corda5%2Fcorda-e2e-tests-multi-cluster-tests/detail/nikinagy%2Ftest/12/pipeline
Jenkins build for PR 6082 build 11
Build Successful: Jar artifact version produced by this PR: 5.2.0.0-alpha-1714639803589 Helm chart version produced by this PR: 5.2.0-alpha.1714639803589 Helm chart pushed to: oci://corda-os-docker-dev.software.r3.com/helm-charts/pr-6082/corda Helm chart Polaris score: 82
build e2e
Building E2E Tests on PR-6082
Succeeded
Quality Gate passed
Issues
0 New issues
0 Accepted issues
Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code