mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-03 01:15:53 +00:00
Accept old ledgers acquired over the network at a lower priority.
This commit is contained in:
@@ -11,11 +11,12 @@ SETUP_LOG();
|
|||||||
|
|
||||||
JobQueue::JobQueue() : mLastJob(0), mThreadCount(0), mShuttingDown(false)
|
JobQueue::JobQueue() : mLastJob(0), mThreadCount(0), mShuttingDown(false)
|
||||||
{
|
{
|
||||||
|
mJobLoads[jtPUBOLDLEDGER].setTargeLatency(10000, 15000);
|
||||||
mJobLoads[jtVALIDATION_ut].setTargetLatency(2000, 5000);
|
mJobLoads[jtVALIDATION_ut].setTargetLatency(2000, 5000);
|
||||||
mJobLoads[jtPROOFWORK].setTargetLatency(2000, 5000);
|
mJobLoads[jtPROOFWORK].setTargetLatency(2000, 5000);
|
||||||
mJobLoads[jtTRANSACTION].setTargetLatency(250, 1000);
|
mJobLoads[jtTRANSACTION].setTargetLatency(250, 1000);
|
||||||
mJobLoads[jtPROPOSAL_ut].setTargetLatency(500, 1250);
|
mJobLoads[jtPROPOSAL_ut].setTargetLatency(500, 1250);
|
||||||
mJobLoads[jtPUBLEDGER].setTargetLatency(1000, 2500);
|
mJobLoads[jtPUBLEDGER].setTargetLatency(3000, 4500);
|
||||||
mJobLoads[jtWAL].setTargetLatency(1000, 2500);
|
mJobLoads[jtWAL].setTargetLatency(1000, 2500);
|
||||||
mJobLoads[jtVALIDATION_t].setTargetLatency(500, 1500);
|
mJobLoads[jtVALIDATION_t].setTargetLatency(500, 1500);
|
||||||
mJobLoads[jtWRITE].setTargetLatency(750, 1500);
|
mJobLoads[jtWRITE].setTargetLatency(750, 1500);
|
||||||
@@ -35,12 +36,13 @@ const char* Job::toString(JobType t)
|
|||||||
switch(t)
|
switch(t)
|
||||||
{
|
{
|
||||||
case jtINVALID: return "invalid";
|
case jtINVALID: return "invalid";
|
||||||
|
case jtPUBOLDLEDGER: return "publishAcqLedger";
|
||||||
case jtVALIDATION_ut: return "untrustedValidation";
|
case jtVALIDATION_ut: return "untrustedValidation";
|
||||||
case jtPROOFWORK: return "proofOfWork";
|
case jtPROOFWORK: return "proofOfWork";
|
||||||
case jtPROPOSAL_ut: return "untrustedProposal";
|
case jtPROPOSAL_ut: return "untrustedProposal";
|
||||||
case jtCLIENT: return "clientCommand";
|
case jtCLIENT: return "clientCommand";
|
||||||
case jtTRANSACTION: return "transaction";
|
case jtTRANSACTION: return "transaction";
|
||||||
case jtPUBLEDGER: return "publishLedger";
|
case jtPUBLEDGER: return "publishNewLedger";
|
||||||
case jtVALIDATION_t: return "trustedValidation";
|
case jtVALIDATION_t: return "trustedValidation";
|
||||||
case jtWAL: return "writeAhead";
|
case jtWAL: return "writeAhead";
|
||||||
case jtWRITE: return "writeObjects";
|
case jtWRITE: return "writeObjects";
|
||||||
|
|||||||
@@ -21,19 +21,20 @@
|
|||||||
enum JobType
|
enum JobType
|
||||||
{ // must be in priority order, low to high
|
{ // must be in priority order, low to high
|
||||||
jtINVALID = -1,
|
jtINVALID = -1,
|
||||||
jtVALIDATION_ut = 1, // A validation from an untrusted source
|
jtPUBOLDLEDGER = 1, // An old ledger has been accepted
|
||||||
jtPROOFWORK = 2, // A proof of work demand from another server
|
jtVALIDATION_ut = 2, // A validation from an untrusted source
|
||||||
jtPROPOSAL_ut = 3, // A proposal from an untrusted source
|
jtPROOFWORK = 3, // A proof of work demand from another server
|
||||||
jtCLIENT = 4, // A websocket command from the client
|
jtPROPOSAL_ut = 4, // A proposal from an untrusted source
|
||||||
jtTRANSACTION = 5, // A transaction received from the network
|
jtCLIENT = 5, // A websocket command from the client
|
||||||
jtPUBLEDGER = 6, // Publish a fully-accepted ledger
|
jtTRANSACTION = 6, // A transaction received from the network
|
||||||
jtWAL = 7, // Write-ahead logging
|
jtPUBLEDGER = 7, // Publish a fully-accepted ledger
|
||||||
jtVALIDATION_t = 8, // A validation from a trusted source
|
jtWAL = 8, // Write-ahead logging
|
||||||
jtWRITE = 9, // Write out hashed objects
|
jtVALIDATION_t = 9, // A validation from a trusted source
|
||||||
jtTRANSACTION_l = 10, // A local transaction
|
jtWRITE = 10, // Write out hashed objects
|
||||||
jtPROPOSAL_t = 11, // A proposal from a trusted source
|
jtTRANSACTION_l = 11, // A local transaction
|
||||||
jtADMIN = 12, // An administrative operation
|
jtPROPOSAL_t = 12, // A proposal from a trusted source
|
||||||
jtDEATH = 13, // job of death, used internally
|
jtADMIN = 13, // An administrative operation
|
||||||
|
jtDEATH = 14, // job of death, used internally
|
||||||
|
|
||||||
// special types not dispatched by the job pool
|
// special types not dispatched by the job pool
|
||||||
jtPEER = 17,
|
jtPEER = 17,
|
||||||
|
|||||||
@@ -173,7 +173,7 @@ bool LedgerMaster::acquireMissingLedger(Ledger::ref origLedger, const uint256& l
|
|||||||
{
|
{
|
||||||
cLog(lsTRACE) << "Ledger hash found in database";
|
cLog(lsTRACE) << "Ledger hash found in database";
|
||||||
mTooFast = true;
|
mTooFast = true;
|
||||||
theApp->getJobQueue().addJob(jtPUBLEDGER, boost::bind(&LedgerMaster::asyncAccept, this, ledger));
|
theApp->getJobQueue().addJob(jtPUBOLDLEDGER, boost::bind(&LedgerMaster::asyncAccept, this, ledger));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user