Notary Failover
Corda has built-in features to allow for the retrying of flows in specific cases of failure. See Flow Hospital for information that applies to all flows.
The FinalityFlow contains notary-specific logic which can initiate a backpressure-aware sub-flow since minimum platform version 4. The backpressure aware subflow has configured timeout and retry with specific logic relating to the backpressure mechanism.
How does the timeout work?
It is based on the flowTimeout
section of the node configuration. Flows to HA notaries will be retried after the configured
time. Information can be found in the Corda configuration file.
What is the backpressure mechanism?
The backpressure mechanism is described in backpressure mechanism overview.
What happens on multiple successful responses caused by retrying?
The first successful response will be mapped to the correct flow and proceed, while the second will be discarded, as the flow that it is attempting to map to no longer exists. A warning will be logged into the console that a response has nothing to go to, but that is expected behaviour.
Is it possible to receive a success and failure because of retrying?
Notarization requests are idempotent and can be retried, the same request should lead to the same response when retried. Previously notarized transactions are saved so that future repeated requests can be answered appropriately.
If there is a network outage/partition, how does this affect the notary?
We are prioritizing consistency over availability. Therefore the service will halt on the minority side of a network partition.
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.