refactor: Move and rename pindexBestHeader, fHavePruned#24909
refactor: Move and rename pindexBestHeader, fHavePruned#24909maflcko merged 7 commits intobitcoin:masterfrom
pindexBestHeader, fHavePruned#24909Conversation
Now BlockManager::LoadBlockIndex() will ACTUALLY only load BlockMan
members.
[META] In a later commit, pindexBestHeader will be moved to ChainMan as
a member
-----
Code Reviewer Notes
Call graph of relevant functions:
ChainstateManager::LoadBlockIndex() <-- Moved to
calls BlockManager::LoadBlockIndexDB()
which calls BlockManager::LoadBlockIndex() <-- Moved from
There is only one call to each of inner functions, meaning that no
behavior is changing.
c1228dc to
7b434e7
Compare
|
"most-mostly" -> "move-mostly" ? |
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
ajtowns
left a comment
There was a problem hiding this comment.
ACK 7b434e7d6bc5ea92b14694375ac4d429e644e61d ; code review only
- 5d67017 validation: Load pindexBestHeader in ChainMan
- Could make
BlockManager::LoadBlockIndexprivate - validation.h:
LoadBlockIndexdoes not need to be afriendofChainstateManager?
- Could make
- c51e6112624e3f4c6282be5f4c78ee3e95aef797 move-mostly: Make pindexBestHeader a ChainMan member
- d66a2c0d0c5fb47f3a5a92841f576b0a2324a7e7 style-only: Miscellaneous whitespace changes
- 8cc5f5c880c35db7719b93d7c87f6e593986d368 Clear pindexBestHeader in ChainstateManager::Unload()
- c32b9d88529c0ea0859eda4523716c25a8dee07c move-mostly: Make fHavePruned a BlockMan member
- Seems like
fHavePrunedshould someday be private to blockman and the pruning logic should move fromCChainState::FlushStateToDiskto blockman
- Seems like
- 4032fc9cf943e512319217d21349f2bb3be55129 Clear fHavePruned in BlockManager::Unload()
- 7b434e7d6bc5ea92b14694375ac4d429e644e61d scripted-diff: Rename pindexBestHeader, fHavePruned
maflcko
left a comment
There was a problem hiding this comment.
review ACK 7b434e7d6bc5ea92b14694375ac4d429e644e61d 🌜
Show signature
Signature:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
review ACK 7b434e7d6bc5ea92b14694375ac4d429e644e61d 🌜
-----BEGIN PGP SIGNATURE-----
iQGzBAEBCgAdFiEE+rVPoUahrI9sLGYTzit1aX5ppUgFAlwqrYAACgkQzit1aX5p
pUhK5AwAnnxOI4tcYCP4IleWGvPN536u+3aq40UauEOEzMSOcfqOzRjfZqpBAqwC
GBvAzOjwaTAkG6S6H77mLAPxDGZZB2GdUWFT1RqMd1GRJmhyeer9wtqQ/NATvETg
qKUoJiCn5o1xZEOkTMgkAJyUJ8vkVF2UxjL/AbeAu3l79/Qzh527vUQ+s7xsR0Pe
fSfJQlrxqaB1p3yrwdsZwEYN2g+nzDIz3xEKG7P2sGoY9Vboh8FqggJW1+LOJfYE
/STQmMjcWGLFzQzUa5lUD64WT5dHruXrLgoJQ+jlOFfNd89he07ybmN8mP91Iu2I
ZNucJcKDoDQVJHIz/vSNWltIeTNfc/Xxj54gCW6N6IUSyRr4uzs9aVkToacWO5kP
e+1hT8EK5gn0an0NWxQmS2PBmsgrAZ/AeenrDuaMkYl5DjBe70v7rX6IG7/kbHu3
d3/pqVWzugeA+LH6XUyt1a0TdH1JEX6IgQo6N06a1i2WzVOpG/Ol4TY4jonziIHy
5/TITCQv
=Uk9X
-----END PGP SIGNATURE-----
|
In reply to #24909 (review) Seems unrelated to the commits here, see #24917 |
[META] In the next commit, we move the clearing of pindexBestHeader to
ChainstateManager::Unload()
...of touched lines and surrounding
-----
Code Reviewer Notes
Call graph of relevant functions:
UnloadBlockIndex() <-- Moved from
calls ChainstateManager::Unload() <-- Moved to
Safe because ChainstateManager::Unload() is called only by
UnloadBlockIndex() and no other callers.
[META] In the next commit, we move the clearing of fHavePruned to
BlockManager::Unload()
-----
Code Reviewer Notes
Call graph of relevant functions:
UnloadBlockIndex() <-- Moved from
calls ChainstateManager::Unload()
which calls BlockManager::Unload() <-- Moved to
So calling UnloadBlockIndex() would still run this moved code. The code
will also now run when ~BlockManager gets called, which makes sense.
...to m_best_header and m_have_pruned
-BEGIN VERIFY SCRIPT-
find_regex="\bpindexBestHeader\b" \
&& git grep -l -E "$find_regex" -- src \
| xargs sed -i -E "s@$find_regex@m_best_header@g"
find_regex="\bfHavePruned\b" \
&& git grep -l -E "$find_regex" -- src \
| xargs sed -i -E "s@$find_regex@m_have_pruned@g"
-END VERIFY SCRIPT-
7b434e7 to
f0a2fb3
Compare
|
Pushed 7b434e7d6bc5ea92b14694375ac4d429e644e61d -> f0a2fb3
|
Looks reasonable at first glance, perhaps you wanna open an issue for that? |
|
ACK f0a2fb3 -- code review only |
|
kirby ACK f0a2fb3 😋 Show signatureSignature: |
Summary: Now BlockManager::LoadBlockIndex() will ACTUALLY only load BlockMan members. [META] In a later commit, pindexBestHeader will be moved to ChainMan as a member ----- Code Reviewer Notes Call graph of relevant functions: `ChainstateManager::LoadBlockIndex()`<-- Moved to calls `BlockManager::LoadBlockIndexDB()` which calls `BlockManager::LoadBlockIndex()` <-- Moved from There is only one call to each of inner functions, meaning that no behavior is changing. This is a partial backport of [[bitcoin/bitcoin#24909 | core#24909]] bitcoin/bitcoin@5d67017 Test Plan: `ninja all check-all` Reviewers: #bitcoin_abc, Fabien Reviewed By: #bitcoin_abc, Fabien Differential Revision: https://reviews.bitcoinabc.org/D13043
Summary: [META] In the next commit, we move the clearing of pindexBestHeader to ChainstateManager::Unload() This is a partial backport of [[bitcoin/bitcoin#24909 | core#24909]] bitcoin/bitcoin@0d567da Depends on D13043 Test Plan: `ninja all check-all` Reviewers: #bitcoin_abc, Fabien Reviewed By: #bitcoin_abc, Fabien Subscribers: Fabien Differential Revision: https://reviews.bitcoinabc.org/D13044
Summary: ----- Code Reviewer Notes Call graph of relevant functions: `UnloadBlockIndex()` <-- Moved from calls `ChainstateManager::Unload()` <-- Moved to Safe because `ChainstateManager::Unload()` is called only by `UnloadBlockIndex()` and no other callers. This is a partial backport of [[bitcoin/bitcoin#24909 | core#24909]] bitcoin/bitcoin@c965241 Depends on D13044 Test Plan: `ninja all check-all` Reviewers: #bitcoin_abc, Fabien Reviewed By: #bitcoin_abc, Fabien Differential Revision: https://reviews.bitcoinabc.org/D13045
Summary: [META] In the next commit, we move the clearing of fHavePruned to BlockManager::Unload() This is a partial backport of [[bitcoin/bitcoin#24909 | core#24909]] bitcoin/bitcoin@3308ecd Depends on D13045 Test Plan: `ninja all check-all bench-bitcoin` Reviewers: #bitcoin_abc, Fabien Reviewed By: #bitcoin_abc, Fabien Differential Revision: https://reviews.bitcoinabc.org/D13046
Summary: ----- Code Reviewer Notes Call graph of relevant functions: `UnloadBlockIndex()` <-- Moved from calls `ChainstateManager::Unload()` which calls `BlockManager::Unload()` <-- Moved to So calling UnloadBlockIndex() would still run this moved code. The code will also now run when ~BlockManager gets called, which makes sense. This is a partial backport of [[bitcoin/bitcoin#24909 | core#24909]] bitcoin/bitcoin@a401402 Depends on D13046 Test Plan: `ninja all check-all` Reviewers: #bitcoin_abc, Fabien Reviewed By: #bitcoin_abc, Fabien Differential Revision: https://reviews.bitcoinabc.org/D13047
…and m_have_pruned
Summary:
```
-BEGIN VERIFY SCRIPT-
find_regex="\bpindexBestHeader\b" \
&& git grep -l -E "$find_regex" -- src \
| xargs sed -i -E "s@$find_regex@m_best_header@g"
find_regex="\bfHavePruned\b" \
&& git grep -l -E "$find_regex" -- src \
| xargs sed -i -E "s@$find_regex@m_have_pruned@g"
-END VERIFY SCRIPT-
```
This concludes backport of [[bitcoin/bitcoin#24909 | core#24909]]
bitcoin/bitcoin@f0a2fb3
Depends on D13047
Test Plan: `ninja all check-all`
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Differential Revision: https://reviews.bitcoinabc.org/D13048
Split off from #22564 per Marco's suggestion: #22564 (comment)
This is basically the move-mostly parts of #22564. The overall intent is to move mutable globals manually reset by
::UnloadBlockIndexinto appropriate structs such that they are cleared at the appropriate times. Please read #22564's description for more rationale.In summary , this PR moves:
pindexBestHeader->ChainstateManager::m_best_headerfHavePruned->BlockManager::m_have_pruned