From ad18c04b3169781ba180dbc9083ab83a8718a147 Mon Sep 17 00:00:00 2001 From: Jonas Schnelli Date: Wed, 28 Jun 2017 21:05:39 +0200 Subject: [PATCH] Report txdb upgrade not more often then every 10% Cherry-picked from: 83fbea3f25558fa6c72f2100d203b95b4030573e --- src/txdb.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/txdb.cpp b/src/txdb.cpp index ae92fad5dab..4eeda3fcc88 100644 --- a/src/txdb.cpp +++ b/src/txdb.cpp @@ -382,6 +382,7 @@ bool CCoinsViewDB::Upgrade() { size_t batch_size = 1 << 24; CDBBatch batch(db); uiInterface.SetProgressBreakAction(StartShutdown); + int reportDone = 0; while (pcursor->Valid()) { boost::this_thread::interruption_point(); if (ShutdownRequested()) { @@ -391,8 +392,13 @@ bool CCoinsViewDB::Upgrade() { if (pcursor->GetKey(key) && key.first == DB_COINS) { if (count++ % 256 == 0) { uint32_t high = 0x100 * *key.second.begin() + *(key.second.begin() + 1); - uiInterface.ShowProgress(_("Upgrading UTXO database") + "\n"+ _("(press q to shutdown and continue later)") + "\n", (int)(high * 100.0 / 65536.0 + 0.5)); - LogPrintf("[%d%%]...", (int)(high * 100.0 / 65536.0 + 0.5)); + int percentageDone = (int)(high * 100.0 / 65536.0 + 0.5); + uiInterface.ShowProgress(_("Upgrading UTXO database") + "\n"+ _("(press q to shutdown and continue later)") + "\n", percentageDone); + if (reportDone < percentageDone/10) { + // report max. every 10% step + LogPrintf("[%d%%]...", percentageDone); + reportDone = percentageDone/10; + } } CCoins old_coins; if (!pcursor->GetValue(old_coins)) {