Ledger Repair heading-link-icon

The Corda ledger repair functionality resolves scenarios where, due to some unexpected error, a notary notarizes a transaction but the members involved in finalizing the transaction do not store the notarized transaction. Such a scenario may result in the members repeatedly attempting to spend consumed states and their flows constantly failing with notarization failures.

The ledger repair functionality checks each member’s vault for transactions that might have been notarized, sends any such transactions to the notary to check whether they were previously seen, and updates the member’s vault if the transactions were notarized.

By default, Corda runs the ledger repair process every ten minutes for all virtual node’s transactions from five days in the past to ten minutes in the past, for no more than ten minutes. For more information about changing these default values, see the deployment and configuration fields sections.

To manually run the repair process for a particular node, start the com.r3.corda.notary.plugin.common.repair.NotarizedTransactionRepairFlow flow, setting the following properties:

  • from — the time in epoch milliseconds from which the repair functionality processes transactions. This value must be less than until.
  • until — the time in epoch milliseconds until which the repair functionality processes transactions. This value must be greater than from.
  • duration — the maximum time in seconds that the repair process runs for.

For example:

{
    "clientRequestId": "<request id>",
    "flowClassName": "com.r3.corda.notary.plugin.common.repair.NotarizedTransactionRepairFlow",
    "requestBody": {
        "from": <epoc milliseconds>,
        "until": <epoc milliseconds>,
        "duration": <seconds>
    }
}

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.