-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
backport: merge bitcoin#22817, #25443, #26138, #26854, #27128, #28287 (auxiliary backports: part 16) #6276
base: develop
Are you sure you want to change the base?
Conversation
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.
should you just skip 25443 because
test: soften connect_nodes assertions
....
Effectively reverts https://github.com/bitcoin/bitcoin/pull/25443
?
There are changes introduced to Making a separate "effective revert" commit after |
we don't have signet as well:
Do 20445 "partial" at least... No one going to remember, that we need to revert here something, maybe add TODO here? |
I've kept the signet comments in as it's unclear if signet will be implemented soon. If it will be soon, I think it's fine to keep them in. If it will be in the foreseeable future, then I can remove them in a separate commit so it is easier to revert when signet is implemented. If it won't be, then I can remove them from the commit and also remove the signet references I kept around in prior backports.
Can do that. Will wait for GitLab CI result and will mark as partial and add TODO to |
This pull request has conflicts, please rebase. |
This pull request has conflicts, please rebase. |
…t-only) 1e17b74 test: no longer connect nodes in parallel in `start_masternodes` (UdjinM6) be72ef5 test: use `setmnthreadactive` to get controlable `connect_nodes` behaviour (UdjinM6) e2ed82a feat(rpc): introduce `setmnthreadactive` (regtest-only) (UdjinM6) Pull request description: ## Issue being fixed or feature implemented This adds a new rpc command to enable/disable automatic masternode connections creation. We need this for #6276. 1e17b74 is extracted from ede1833 to avoid multiple jobs calling `setmnthreadactive` on the same node in parallel. ## What was done? Add `setmnthreadactive` rpc and use it ## How Has This Been Tested? run tests ## Breaking Changes n/a ## Checklist: - [x] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have added or updated relevant unit/integration/functional/e2e tests - [ ] I have made corresponding changes to the documentation - [x] I have assigned this pull request to a milestone ACKs for top commit: kwvg: LGTM, ACK 1e17b74 PastaPastaPasta: utACK 1e17b74 Tree-SHA512: 83c1c07d0066e26202fd21942a09e41c3560c4d32229b44390946c4acb22319b32aa61a13b9106d20fc8cc197dd2a8ab5fdfcfdeaf3da76af062fc0fd7646972
…e.py` a656d2f feat: more logging (UdjinM6) cedd3d5 refactor: make expected_connections optional (UdjinM6) fd2fbe0 fix: check mn state after each mined quorum (UdjinM6) cce87a6 fix: should have at least 2 connections when testing isolate_mn (UdjinM6) 793f4b7 fix: connect repaired mns only (UdjinM6) 8597acd fix: remember mns that don't listen and avoid them (UdjinM6) 2069625 fix: calculate expected_complaints correctly (UdjinM6) Pull request description: ## Issue being fixed or feature implemented Fix some general mistakes and also `connect_nodes` related issues discovered while debugging #6276. Add some logging to make debugging a bit easier. ~NOTE: builds on top of #6278 to avoid conflicts, will rebase~ done ## What was done? pls see individual commits ## How Has This Been Tested? run tests ## Breaking Changes n/a ## Checklist: - [ ] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have added or updated relevant unit/integration/functional/e2e tests - [ ] I have made corresponding changes to the documentation - [ ] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_ ACKs for top commit: kwvg: LGTM, ACK a656d2f knst: ACK a656d2f PastaPastaPasta: utACK a656d2f Tree-SHA512: 30f657218ce0338f9a5a09d9a839cca9c4605740265d2182a1e143ec6ece739fecf748f7b60ccec065c17d9f6d893c0c47893be05c44bb8d34624fb4bf3c2a58
Due to stricter checks, we can no longer start masternodes in parallel, as entities used to process `to_connection` checks are reused before the previous check is completed, resulting in an exception. Since we're now validating the establishment of a two-way connection, we have to do it one at a time.
… deadlock situation `random_bytes()` is introduced in bitcoin#25625 but the function def alone doesn't warrant a full backport, so we'll only implement the section relevant to this PR.
Additional Information
Depends on feat(rpc): introduce and use
setmnthreadactive
(regtest-only) #6286Depends on test: fixes and improvements for
feature_llmq_simplepose.py
#6287Depends on test: avoid node (dis)connections in functional tests that are invalid or likely to fail #6289
When backporting bitcoin#28287,
p2p_net_deadlock.py
relies on the function,random_bytes()
, that is introduced in bitcoin#25625. Backporting bitcoin#25625 would attract changes outside the scope of this PR.In the interest of brevity, the changes that introduce
random_bytes()
have been included in bitcoin#28287 instead.Breaking Changes
None expected.
Checklist: