This adds a cleanup method to the peer manager for removing the inactive proofs.
For now only the obsolete orphans are cleaned up, i.e. orphans that have been registered for 30 minutes or more and did not make it into the valid pool.
Since it is trivial to fill the orphan pool with garbage, this is a best effort attempt to recover from such a bad state should it happen.
More cleanups will be added later.
Details
Details
- Reviewers
deadalnix - Group Reviewers
Restricted Project
ninja all check-all
Diff Detail
Diff Detail
- Repository
- rABC Bitcoin ABC
- Branch
- avalanche_cleanup_orphans
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 19406 Build 38545: Build Diff lint-circular-dependencies · build-without-wallet · build-diff · build-debug · build-clang · build-clang-tidy Build 38544: arc lint + arc unit
Event Timeline
src/avalanche/proofpool.cpp | ||
---|---|---|
144–154 | There is not much in there that tell me this is the orphan proofs we are talking about, but, considering the orphan pool need to be limited in size, why does this needs to happen at all? And if it really needs to happen, why is the avalanche processor doing it? None of this makes sense to me. |
Comment Actions
The rationale makes no sense. It is possible to balloon the pool in 30mins, so this is insufficient. So you need another criteria to evict from the pool, but it you have that other criteria, it is more likely than not that this one becomes useless.
This serves no purpose.