-
Notifications
You must be signed in to change notification settings - Fork 355
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Faster initial block index load for low memory machines #1433
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -47,6 +47,8 @@ static const int64_t nMaxCoinsDBCache = 8; | |
static const bool DEFAULT_FULL_BLOCKINDEX_CHECK = false; | ||
//! If not doing full check of block index, check only N of the latest blocks | ||
static const int DEFAULT_BLOCKINDEX_NUMBER_OF_BLOCKS_TO_CHECK = 10000; | ||
//! Check fewer blocks if low on memory | ||
static const int DEFAULT_BLOCKINDEX_LOWMEM_NUMBER_OF_BLOCKS_TO_CHECK = 50; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Consider reviewing the value of The reduction to 50 blocks from the default 10,000 could potentially compromise the security and integrity of the block validation process on systems with low memory. It's advisable to assess the risks associated with this significant reduction and possibly consider a higher threshold that balances performance with security. |
||
|
||
struct CDiskTxPos : public CDiskBlockPos | ||
{ | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review the implementation of the memory check and conditional logic.
The use of
sysinfo
to determine the available RAM and adjust the number of blocks to check is a critical change. Ensure that this logic is robust and consider edge cases, such as systems close to the 2GB threshold. Additionally, validate that thesysinfo
function provides reliable results across different Linux distributions and hardware configurations.