From 07cd8ad9bd22c605cda0b6bca7df384a31456962 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Thu, 11 Oct 2012 06:04:06 -0700 Subject: [PATCH] Some extra debug on the dirty node flush code. It appears good. --- src/Ledger.cpp | 9 +++++---- src/SHAMap.cpp | 2 ++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Ledger.cpp b/src/Ledger.cpp index 737579df7..92f562154 100644 --- a/src/Ledger.cpp +++ b/src/Ledger.cpp @@ -340,10 +340,11 @@ void Ledger::saveAcceptedLedger(Ledger::ref ledger) ledger->mAccountHash.GetHex() % ledger->mTransHash.GetHex())); // write out dirty nodes - while(ledger->mTransactionMap->flushDirty(256, hotTRANSACTION_NODE, ledger->mLedgerSeq)) - { ; } - while(ledger->mAccountStateMap->flushDirty(256, hotACCOUNT_NODE, ledger->mLedgerSeq)) - { ; } + int fc; + while ((fc = ledger->mTransactionMap->flushDirty(256, hotTRANSACTION_NODE, ledger->mLedgerSeq)) > 0) + { cLog(lsINFO) << "Flushed " << fc << " dirty transaction nodes"; } + while ((fc = ledger->mAccountStateMap->flushDirty(256, hotACCOUNT_NODE, ledger->mLedgerSeq)) > 0) + { cLog(lsINFO) << "Flushed " << fc << " dirty state nodes"; } ledger->disarmDirty(); SHAMap& txSet = *ledger->peekTransactionMap(); diff --git a/src/SHAMap.cpp b/src/SHAMap.cpp index efd97e266..3d6f70620 100644 --- a/src/SHAMap.cpp +++ b/src/SHAMap.cpp @@ -725,6 +725,8 @@ int SHAMap::flushDirty(int maxNodes, HashedObjectType t, uint32 seq) boost::unordered_map::iterator it = dirtyNodes.begin(); while (it != dirtyNodes.end()) { + tLog(mType == smtTRANSACTION, lsDEBUG) << "TX node write " << it->first; + tLog(mType == smtSTATE, lsDEBUG) << "STATE node write " << it->first; s.erase(); it->second->addRaw(s, snfPREFIX); theApp->getHashedObjectStore().store(t, seq, s.peekData(), s.getSHA512Half());