aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfurszy <matiasfurszyfer@protonmail.com>2023-06-17 11:11:51 -0300
committerfurszy <matiasfurszyfer@protonmail.com>2023-07-07 19:31:27 -0300
commit04575106b2529f495ce8110ddf7ed2247d4bc339 (patch)
tree589bc75b1a85ec31b86de84d8eeb96f4635bbcb7
parented4462cc78afd2065bbf5bd79728852b65b9ad7f (diff)
scripted-diff: rename 'loadblk' thread name to 'initload'
The thread does not only load blocks, it loads the mempool and, in a future commit, will start the indexes as well. Also, renamed the 'ThreadImport' function to 'ImportBlocks' And the 'm_load_block' class member to 'm_thread_load'. -BEGIN VERIFY SCRIPT- sed -i "s/ThreadImport/ImportBlocks/g" $(git grep -l ThreadImport -- ':!/doc/') sed -i "s/loadblk/initload/g" $(git grep -l loadblk -- ':!/doc/release-notes/') sed -i "s/m_load_block/m_thread_load/g" $(git grep -l m_load_block) -END VERIFY SCRIPT-
-rw-r--r--doc/developer-notes.md2
-rw-r--r--src/bitcoin-chainstate.cpp2
-rw-r--r--src/init.cpp12
-rw-r--r--src/node/blockstorage.cpp2
-rw-r--r--src/node/blockstorage.h2
-rw-r--r--src/node/chainstate.cpp2
-rw-r--r--src/validation.h2
-rwxr-xr-xtest/functional/feature_init.py2
-rwxr-xr-xtest/functional/test_framework/test_node.py2
9 files changed, 14 insertions, 14 deletions
diff --git a/doc/developer-notes.md b/doc/developer-notes.md
index fca72914a3..8e96f3ceb1 100644
--- a/doc/developer-notes.md
+++ b/doc/developer-notes.md
@@ -621,7 +621,7 @@ Threads
: Started from `main()` in `bitcoind.cpp`. Responsible for starting up and
shutting down the application.
-- [ThreadImport (`b-loadblk`)](https://doxygen.bitcoincore.org/namespacenode.html#ab4305679079866f0f420f7dbf278381d)
+- [ThreadImport (`b-initload`)](https://doxygen.bitcoincore.org/namespacenode.html#ab4305679079866f0f420f7dbf278381d)
: Loads blocks from `blk*.dat` files or `-loadblock=<file>` on startup.
- [CCheckQueue::Loop (`b-scriptch.x`)](https://doxygen.bitcoincore.org/class_c_check_queue.html#a6e7fa51d3a25e7cb65446d4b50e6a987)
diff --git a/src/bitcoin-chainstate.cpp b/src/bitcoin-chainstate.cpp
index c36233207e..45fd239e20 100644
--- a/src/bitcoin-chainstate.cpp
+++ b/src/bitcoin-chainstate.cpp
@@ -287,7 +287,7 @@ epilogue:
// Without this precise shutdown sequence, there will be a lot of nullptr
// dereferencing and UB.
scheduler.stop();
- if (chainman.m_load_block.joinable()) chainman.m_load_block.join();
+ if (chainman.m_thread_load.joinable()) chainman.m_thread_load.join();
StopScriptCheckWorkerThreads();
GetMainSignals().FlushBackgroundCallbacks();
diff --git a/src/init.cpp b/src/init.cpp
index 545f6068d9..80205df000 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -131,7 +131,7 @@ using node::LoadChainstate;
using node::MempoolPath;
using node::NodeContext;
using node::ShouldPersistMempool;
-using node::ThreadImport;
+using node::ImportBlocks;
using node::VerifyLoadedChainstate;
static constexpr bool DEFAULT_PROXYRANDOMIZE{true};
@@ -268,7 +268,7 @@ void Shutdown(NodeContext& node)
// After everything has been shut down, but before things get flushed, stop the
// CScheduler/checkqueue, scheduler and load block thread.
if (node.scheduler) node.scheduler->stop();
- if (node.chainman && node.chainman->m_load_block.joinable()) node.chainman->m_load_block.join();
+ if (node.chainman && node.chainman->m_thread_load.joinable()) node.chainman->m_thread_load.join();
StopScriptCheckWorkerThreads();
// After the threads that potentially access these pointers have been stopped,
@@ -1545,7 +1545,7 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
// ********************************************************* Step 8: start indexers
- // If reindex-chainstate was specified, delay syncing indexes until ThreadImport has reindexed the chain
+ // If reindex-chainstate was specified, delay syncing indexes until ImportBlocks has reindexed the chain
if (!fReindexChainState) g_indexes_ready_to_sync = true;
if (args.GetBoolArg("-txindex", DEFAULT_TXINDEX)) {
auto result{WITH_LOCK(cs_main, return CheckLegacyTxindex(*Assert(chainman.m_blockman.m_block_tree_db)))};
@@ -1656,9 +1656,9 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
vImportFiles.push_back(fs::PathFromString(strFile));
}
- chainman.m_load_block = std::thread(&util::TraceThread, "loadblk", [=, &chainman, &args] {
+ chainman.m_thread_load = std::thread(&util::TraceThread, "initload", [=, &chainman, &args] {
// Import blocks
- ThreadImport(chainman, vImportFiles);
+ ImportBlocks(chainman, vImportFiles);
// Load mempool from disk
chainman.ActiveChainstate().LoadMempool(ShouldPersistMempool(args) ? MempoolPath(args) : fs::path{});
});
@@ -1667,7 +1667,7 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
{
WAIT_LOCK(g_genesis_wait_mutex, lock);
// We previously could hang here if StartShutdown() is called prior to
- // ThreadImport getting started, so instead we just wait on a timer to
+ // ImportBlocks getting started, so instead we just wait on a timer to
// check ShutdownRequested() regularly.
while (!fHaveGenesis && !ShutdownRequested()) {
g_genesis_wait_cv.wait_for(lock, std::chrono::milliseconds(500));
diff --git a/src/node/blockstorage.cpp b/src/node/blockstorage.cpp
index 461ec10f66..0e9ae0ae27 100644
--- a/src/node/blockstorage.cpp
+++ b/src/node/blockstorage.cpp
@@ -868,7 +868,7 @@ public:
}
};
-void ThreadImport(ChainstateManager& chainman, std::vector<fs::path> vImportFiles)
+void ImportBlocks(ChainstateManager& chainman, std::vector<fs::path> vImportFiles)
{
ScheduleBatchPriority();
diff --git a/src/node/blockstorage.h b/src/node/blockstorage.h
index 4895e582e9..2c219e7a59 100644
--- a/src/node/blockstorage.h
+++ b/src/node/blockstorage.h
@@ -255,7 +255,7 @@ public:
void CleanupBlockRevFiles() const;
};
-void ThreadImport(ChainstateManager& chainman, std::vector<fs::path> vImportFiles);
+void ImportBlocks(ChainstateManager& chainman, std::vector<fs::path> vImportFiles);
} // namespace node
#endif // BITCOIN_NODE_BLOCKSTORAGE_H
diff --git a/src/node/chainstate.cpp b/src/node/chainstate.cpp
index 3900d2e620..255d8be0ec 100644
--- a/src/node/chainstate.cpp
+++ b/src/node/chainstate.cpp
@@ -82,7 +82,7 @@ static ChainstateLoadResult CompleteChainstateInitialization(
// At this point blocktree args are consistent with what's on disk.
// If we're not mid-reindex (based on disk + args), add a genesis block on disk
// (otherwise we use the one already on disk).
- // This is called again in ThreadImport after the reindex completes.
+ // This is called again in ImportBlocks after the reindex completes.
if (!fReindex && !chainman.ActiveChainstate().LoadGenesisBlock()) {
return {ChainstateLoadStatus::FAILURE, _("Error initializing block database")};
}
diff --git a/src/validation.h b/src/validation.h
index 66bc036e66..49860f2d6a 100644
--- a/src/validation.h
+++ b/src/validation.h
@@ -987,7 +987,7 @@ public:
const util::SignalInterrupt& m_interrupt;
const Options m_options;
- std::thread m_load_block;
+ std::thread m_thread_load;
//! A single BlockManager instance is shared across each constructed
//! chainstate to avoid duplicating block metadata.
node::BlockManager m_blockman;
diff --git a/test/functional/feature_init.py b/test/functional/feature_init.py
index 7af67730bd..64ca312b84 100755
--- a/test/functional/feature_init.py
+++ b/test/functional/feature_init.py
@@ -71,7 +71,7 @@ class InitStressTest(BitcoinTestFramework):
b'init message: Starting network threads',
b'net thread start',
b'addcon thread start',
- b'loadblk thread start',
+ b'initload thread start',
b'txindex thread start',
b'block filter index thread start',
b'coinstatsindex thread start',
diff --git a/test/functional/test_framework/test_node.py b/test/functional/test_framework/test_node.py
index 5111d88e15..e5e3061def 100755
--- a/test/functional/test_framework/test_node.py
+++ b/test/functional/test_framework/test_node.py
@@ -250,7 +250,7 @@ class TestNode():
# Wait for the node to finish reindex, block import, and
# loading the mempool. Usually importing happens fast or
# even "immediate" when the node is started. However, there
- # is no guarantee and sometimes ThreadImport might finish
+ # is no guarantee and sometimes ImportBlocks might finish
# later. This is going to cause intermittent test failures,
# because generally the tests assume the node is fully
# ready after being started.