Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(tools): corda AIO start/stop per node #686

Closed
petermetz opened this issue Mar 19, 2021 · 0 comments · Fixed by #693
Closed

feat(tools): corda AIO start/stop per node #686

petermetz opened this issue Mar 19, 2021 · 0 comments · Fixed by #693
Assignees
Labels
Corda dependencies Pull requests that update a dependency file enhancement New feature or request

Comments

@petermetz
Copy link
Contributor

Is your feature request related to a problem? Please describe.

Currently the corda AIO image only supports shutting down and starting all the nodes at once only.
This causes race condition problems with the cordapp deployment endpoint on weaker hardware (such as the CI environment).
We need to be able to control the individual nodes' JVM processes so that we can cherry pick which nodes to start and shut down exactly when.

Describe the solution you'd like

Supervisord to have separate program directives for each party's node (A,B,C) and also one for the Notary.
Deprecate the old way of doing it which was by running the runnodes jar produced by cordform (the gradle tooling).

Describe alternatives you've considered

Considered not spending time on this, but it came back to haunt us with the Cordapp jar deployment feature so it has to be done.
Another alternative I considered was to use docker in docker and run separate containers for each corda node. This could also be a fine solution but would involve more work and end up being more complex than it needs to be since we should be able to solve the individual control of node processes by directly launching the JVM processes ourselves via supervisord.

Additional context

This campe up during the development of the Cordapp jar deployment via SSH+SCP feature (one of many).

cc: @takeutak @sfuji822 @hartm @jonathan-m-hamilton @AzaharaC @jordigiam @kikoncuo @jagpreetsinghsasan

@petermetz petermetz added Corda dependencies Pull requests that update a dependency file enhancement New feature or request labels Mar 19, 2021
@petermetz petermetz self-assigned this Mar 19, 2021
petermetz added a commit to petermetz/cacti that referenced this issue Mar 19, 2021
With this change the users of the Corda AIO image
can decide which nodes to launch (A,B,C,Notary)
exactly.

Adds scripts to launch individual nodes as needed.
Before this we could only launch all the nodes at
once which did not work out well because it caused
race conditions in the cordapp jar deployment code.

This revision is tagged in the container registry
as:
hyperledger/cactus-corda-4-6-all-in-one-obligation:2021-03-19-feat-686

Fixes hyperledger-cacti#686

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz added a commit to petermetz/cacti that referenced this issue Mar 23, 2021
With this change the users of the Corda AIO image
can decide which nodes to launch (A,B,C,Notary)
exactly.

Adds scripts to launch individual nodes as needed.
Before this we could only launch all the nodes at
once which did not work out well because it caused
race conditions in the cordapp jar deployment code.

This revision is tagged in the container registry
as:
hyperledger/cactus-corda-4-6-all-in-one-obligation:2021-03-19-feat-686

Fixes hyperledger-cacti#686

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz added a commit to petermetz/cacti that referenced this issue Mar 24, 2021
With this change the users of the Corda AIO image
can decide which nodes to launch (A,B,C,Notary)
exactly.

Adds scripts to launch individual nodes as needed.
Before this we could only launch all the nodes at
once which did not work out well because it caused
race conditions in the cordapp jar deployment code.

This revision is tagged in the container registry
as:
hyperledger/cactus-corda-4-6-all-in-one-obligation:2021-03-19-feat-686

Fixes hyperledger-cacti#686

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz added a commit to petermetz/cacti that referenced this issue Mar 24, 2021
With this change the users of the Corda AIO image
can decide which nodes to launch (A,B,C,Notary)
exactly.

Adds scripts to launch individual nodes as needed.
Before this we could only launch all the nodes at
once which did not work out well because it caused
race conditions in the cordapp jar deployment code.

This revision is tagged in the container registry
as:
hyperledger/cactus-corda-4-6-all-in-one-obligation:2021-03-19-feat-686

Fixes hyperledger-cacti#686

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz added a commit to petermetz/cacti that referenced this issue Mar 25, 2021
With this change the users of the Corda AIO image
can decide which nodes to launch (A,B,C,Notary)
exactly.

Adds scripts to launch individual nodes as needed.
Before this we could only launch all the nodes at
once which did not work out well because it caused
race conditions in the cordapp jar deployment code.

This revision is tagged in the container registry
as:
hyperledger/cactus-corda-4-6-all-in-one-obligation:2021-03-19-feat-686

Fixes hyperledger-cacti#686

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz added a commit to petermetz/cacti that referenced this issue Mar 25, 2021
With this change the users of the Corda AIO image
can decide which nodes to launch (A,B,C,Notary)
exactly.

Adds scripts to launch individual nodes as needed.
Before this we could only launch all the nodes at
once which did not work out well because it caused
race conditions in the cordapp jar deployment code.

This revision is tagged in the container registry
as:
hyperledger/cactus-corda-4-6-all-in-one-obligation:2021-03-19-feat-686

Fixes hyperledger-cacti#686

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz added a commit to petermetz/cacti that referenced this issue Mar 26, 2021
With this change the users of the Corda AIO image
can decide which nodes to launch (A,B,C,Notary)
exactly.

Adds scripts to launch individual nodes as needed.
Before this we could only launch all the nodes at
once which did not work out well because it caused
race conditions in the cordapp jar deployment code.

This revision is tagged in the container registry
as:
hyperledger/cactus-corda-4-6-all-in-one-obligation:2021-03-19-feat-686

Fixes hyperledger-cacti#686

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz added a commit that referenced this issue Mar 26, 2021
With this change the users of the Corda AIO image
can decide which nodes to launch (A,B,C,Notary)
exactly.

Adds scripts to launch individual nodes as needed.
Before this we could only launch all the nodes at
once which did not work out well because it caused
race conditions in the cordapp jar deployment code.

This revision is tagged in the container registry
as:
hyperledger/cactus-corda-4-6-all-in-one-obligation:2021-03-19-feat-686

Fixes #686

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
jordigiam pushed a commit to kikoncuo/cactus that referenced this issue Apr 8, 2021
With this change the users of the Corda AIO image
can decide which nodes to launch (A,B,C,Notary)
exactly.

Adds scripts to launch individual nodes as needed.
Before this we could only launch all the nodes at
once which did not work out well because it caused
race conditions in the cordapp jar deployment code.

This revision is tagged in the container registry
as:
hyperledger/cactus-corda-4-6-all-in-one-obligation:2021-03-19-feat-686

Fixes hyperledger-cacti#686

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Corda dependencies Pull requests that update a dependency file enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant