This commit is contained in:
JoelKatz
2013-01-19 14:31:31 -08:00
parent 4c6920dd55
commit 07091cfc3c
3 changed files with 6 additions and 8 deletions

View File

@@ -1166,7 +1166,7 @@ void LedgerConsensus::applyTransactions(SHAMap::ref set, Ledger::ref applyLedger
int changes; int changes;
bool certainRetry = true; bool certainRetry = true;
for (int pass = 0; pass < 8; ++pass) for (int pass = 0; pass < 12; ++pass)
{ {
cLog(lsDEBUG) << "Pass: " << pass << " Txns: " << failedTransactions.size() cLog(lsDEBUG) << "Pass: " << pass << " Txns: " << failedTransactions.size()
<< (certainRetry ? " retriable" : " final"); << (certainRetry ? " retriable" : " final");
@@ -1205,7 +1205,7 @@ void LedgerConsensus::applyTransactions(SHAMap::ref set, Ledger::ref applyLedger
return; return;
// Stop retriable passes // Stop retriable passes
if ((!changes) || (pass >= 4)) if ((!changes) || (pass >= 8))
certainRetry = false; certainRetry = false;
} }
} }

View File

@@ -112,11 +112,7 @@ TER TransactionEngine::applyTransaction(const SerializedTransaction& txn, Transa
cLog(lsINFO) << "applyTransaction: terResult=" << strToken << " : " << terResult << " : " << strHuman; cLog(lsINFO) << "applyTransaction: terResult=" << strToken << " : " << terResult << " : " << strHuman;
if (terResult == tesSUCCESS) if (isTecClaim(terResult) && !isSetBit(params, tapRETRY))
didApply = true;
else if (isTepSuccess(terResult) && isSetBit(params, tapRETRY))
didApply = true;
else if (isTecClaim(terResult) && !isSetBit(params, tapRETRY))
{ // only claim the transaction fee { // only claim the transaction fee
cLog(lsINFO) << "Reprocessing to only claim fee"; cLog(lsINFO) << "Reprocessing to only claim fee";
mNodes.clear(); mNodes.clear();
@@ -155,6 +151,8 @@ TER TransactionEngine::applyTransaction(const SerializedTransaction& txn, Transa
} }
} }
} }
else if ((terResult == tesSUCCESS) || (isTesSuccess(terResult) && !isSetBit(params, tapRETRY)))
didApply = true;
else else
cLog(lsINFO) << "Not applying transaction"; cLog(lsINFO) << "Not applying transaction";

View File

@@ -126,7 +126,7 @@ enum TER // aka TransactionEngineResult
#define isTemMalformed(x) ((x) >= temMALFORMED && (x) < tefFAILURE) #define isTemMalformed(x) ((x) >= temMALFORMED && (x) < tefFAILURE)
#define isTefFailure(x) ((x) >= tefFAILURE && (x) < terRETRY) #define isTefFailure(x) ((x) >= tefFAILURE && (x) < terRETRY)
#define isTerRetry(x) ((x) >= terRETRY && (x) < tesSUCCESS) #define isTerRetry(x) ((x) >= terRETRY && (x) < tesSUCCESS)
#define isTepSuccess(x) ((x) >= tesSUCCESS) #define isTesSuccess(x) ((x) >= tesSUCCESS)
#define isTecClaim(x) ((x) >= tecCLAIM) #define isTecClaim(x) ((x) >= tecCLAIM)
bool transResultInfo(TER terCode, std::string& strToken, std::string& strHuman); bool transResultInfo(TER terCode, std::string& strToken, std::string& strHuman);