corda-runtime-os icon indicating copy to clipboard operation
corda-runtime-os copied to clipboard

CORE-9164 - Persist mgm info on member side

Open nikinagy opened this issue 1 year ago • 4 comments

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: Screenshot 2024-04-29 at 12 38 49

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

nikinagy avatar Apr 29 '24 12:04 nikinagy

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

corda-jenkins-ci02[bot] avatar May 01 '24 13:05 corda-jenkins-ci02[bot]

build e2e

vkolomeyko avatar May 01 '24 15:05 vkolomeyko

Building E2E Tests on PR-6082

Succeeded

corda-jenkins-ci02[bot] avatar May 01 '24 15:05 corda-jenkins-ci02[bot]