Upgrading a node to a minor version of Corda Enterprise Edition 4.9

Follow these steps to upgrade a node from Corda Enterprise Edition 4.9 to Corda Enterprise Edition 4.9.x.

Most of the Corda 4 public, non-experimental APIs are stable. See the full list of stable APIs. If you are working with a stable API, you don’t need to update your CorDapps. To upgrade:

  1. Drain the node.
  2. Replace the corda.jar file with the new version.
  3. Start the node.
  4. Undrain the node.

Node operators must drain nodes (or CorDapps on nodes) before they can upgrade them. Draining brings all flows that are currently running to a smooth halt. The node finishes any work already in progress, and queues any new work. This process frees CorDapps from the requirement to migrate workflows from an arbitrary point to another arbitrary point—a task that would rapidly become unfeasible as workflow and protocol complexity increases.

To drain a node, run gracefulShutdown. This waits for all running flows to be completed and then shuts the node down.

Replace the corda.jar with the latest version of Corda.

Download the latest version of Corda from the Customer Hub. Make sure it’s available on your path, and that you’ve read the Corda release notes. Pay particular attention to which version of Java the node requires.

Start the node in the normal way.

The node performs any required automatic data migrations, which may take some time. If the migration process is interrupted, restart the node to continue. The node stops automatically when migration is complete.

Run this command in the shell:

run setFlowsDrainingModeEnabled enabled: false

Your upgrade is complete.

Was this page helpful?

Thanks for your feedback!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.

We're sorry this page wasn't helpful. Let us know how we can make it better!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Create an issue

Create a new GitHub issue in this repository - submit technical feedback, draw attention to a potential documentation bug, or share ideas for improvement and general feedback.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.