From 37a5f83c79b29a271df12852b64614a5f2b1fca3 Mon Sep 17 00:00:00 2001 From: Rome Reginelli Date: Tue, 16 Jul 2019 00:48:35 -0700 Subject: [PATCH] Modify ter description again for automatic retries Not only ter codes are retried. Other result failures could also be automatically retried and succeed later. --- .../transaction-results/transaction-results.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/content/references/rippled-api/transaction-formats/transaction-results/transaction-results.md b/content/references/rippled-api/transaction-formats/transaction-results/transaction-results.md index 98da0c5571..b9646e0041 100644 --- a/content/references/rippled-api/transaction-formats/transaction-results/transaction-results.md +++ b/content/references/rippled-api/transaction-formats/transaction-results/transaction-results.md @@ -10,9 +10,11 @@ The `rippled` server summarizes transaction results with result codes, which app | Failure | [tef](tef-codes.html) | The transaction cannot be applied to the server's current (in-progress) ledger or any later one. It may have already been applied, or the condition of the ledger makes it impossible to apply in the future. | | Local error | [tel](tel-codes.html) | The `rippled` server had an error due to local conditions, such as high load. You may get a different response if you resubmit to a different server or at a different time. | | Malformed transaction | [tem](tem-codes.html) | The transaction was not valid, due to improper syntax, conflicting options, a bad signature, or something else. | -| Retry | [ter](ter-codes.html) | The transaction could not be applied, but attempts will be made automatically to apply to a future ledger. | +| Retry | [ter](ter-codes.html) | The transaction could not be applied, but it could apply successfully in a future ledger. | | Success | [tes](tes-success.html) | (Not an error) The transaction succeeded. This result only final in a validated ledger. | +The `rippled` server automatically retries failed transactions. It is important not to assume that a transaction has completely failed based on a tentative failure result. A transaction may later succeed unless its success or failure is [final](finality-of-results.html). + **Warning:** Transactions' provisional result codes may differ than their final result. Transactions that provisionally succeeded may eventually fail and transactions that provisionally failed may eventually succeed. Transactions that provisionally failed may also eventually fail with a different code. See [finality of results](finality-of-results.html) for how to know when a transaction's result is final. The distinction between a local error (`tel`) and a malformed transaction (`tem`) is a matter of protocol-level rules. For example, the protocol sets no limit on the maximum number of paths that can be included in a transaction. However, a server may define a finite limit of paths it can process. If two different servers are configured differently, then one of them may return a `tel` error for a transaction with many paths, while the other server could successfully process the transaction. If enough servers are able to process the transaction that it survives consensus, then it can still be included in a validated ledger.