refactor: deprecate non-deterministic IS support - #5553
Merged
PastaPastaPasta merged 9 commits intoNov 20, 2023
Conversation
ogabrielides
marked this pull request as draft
August 31, 2023 10:49
|
This pull request has conflicts, please rebase. |
Author
ogabrielides
marked this pull request as ready for review
October 31, 2023 12:23
UdjinM6
reviewed
Nov 1, 2023
UdjinM6
previously approved these changes
Nov 1, 2023
UdjinM6
left a comment
There was a problem hiding this comment.
LGTM and seems to be working correctly (client-side) on mainnet/testnet
light ACK
knst
reviewed
Nov 9, 2023
|
This pull request has conflicts, please rebase. |
UdjinM6
previously approved these changes
Nov 10, 2023
|
This pull request has conflicts, please rebase. |
|
This pull request has conflicts, please rebase. |
Co-Authored-By: UdjinM6 <UdjinM6@users.noreply.github.com>
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
Co-Authored-By: Konstantin Akimov <545784+knst@users.noreply.github.com>
PastaPastaPasta
approved these changes
Nov 20, 2023
PastaPastaPasta
left a comment
Member
There was a problem hiding this comment.
utACK for squash merge
Member
|
This PR resulted in a breaking change via the removal of option |
thephez
added a commit
to thephez/docs-core
that referenced
this pull request
Feb 19, 2024
thephez
added a commit
to dashpay/docs-core
that referenced
this pull request
Feb 19, 2024
* docs(p2p): move islock to deprecated message type table Related to dashpay/dash#5553 * docs: minor table formatting
5 tasks
thephez
added a commit
to thephez/docs-core
that referenced
this pull request
Mar 5, 2024
* docs(p2p): move islock to deprecated message type table Related to dashpay/dash#5553 * docs: minor table formatting
Merged
5 tasks
PastaPastaPasta
added a commit
that referenced
this pull request
Sep 9, 2025
…p in feature_llmq_is_retroactive.py c54c43a test: refactor 24 to a new constant llmq_cycle_len; the cycle_length renamed to llmq_cycle_len too (Konstantin Akimov) 9a6be1b test: rename check_no_is and sleep_and_check_no_is to more descriptive assert_no_instantlock (Konstantin Akimov) 1661495 refactor: default sleep for sleep_and_check_no_is (UdjinM6) 7336573 test: simplify helper check_if_no_islock (Konstantin Akimov) e3c7866 test: fix missing assert in feature_llmq_is_retroactive.py (Konstantin Akimov) 32d35b1 test: replace argument is_first to global flag to see if cycle quorum is ready (Konstantin Akimov) bfa3574 test: remove double delay 2second when it is sufficient to wait once in feature_llmq_is_retroactive.py (Konstantin Akimov) 2a77568 test: mine extra instant send cycle quorum, not just some quorums (Konstantin Akimov) 9c64d6c test: add helper create_fund_sign_tx for feature_llmq_is_retroactive.py (Konstantin Akimov) b91007b test: combine 2 cases of single node & all nodes in feature_llmq_is_retroactive.py (Konstantin Akimov) Pull request description: ## Issue being fixed or feature implemented `feature_llmq_is_retroactive.py` is one of the slowest functional test and it has bunch of duplicated logic for "single node" and "all nodes" logic. ## What was done? - Refactored case of "single node" and "all nodes" to test simultaneously instead of doing 1-by-1 It reduced amount of code and extra delays and improvement performance. - This PR fixes feature_llmq_is_retroactive.py test by generating real extra quorum for instant send (previously wrong type of quorum has been generated). Issue has been introduced by #5553 when only 1 helper mine_quorum has been replaced to proper rotation quorum. - This PR introduces a minor refactoring `mine_cycle_quorum` to prevent a perf bug when 24*3 blocks generated again and again for sub-sequent quorums (they are needed only once) when this helper is misused. ## How Has This Been Tested? Run 20 parallel jobs. Median time for `feature_llmq_is_retroactive.py` is decreased from 134s to just 103s on my localhost. Median time for `interface_zmq_dash.py` got 3seconds boost (54s -> 51s) as expected, see related `mine_cycle_quorum` helper. ## 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: PastaPastaPasta: utACK c54c43a UdjinM6: utACK c54c43a Tree-SHA512: 3a886612a112b439546565e64a72530328ada3d7ae11c66a4a2db761f006c72c8c58b89c0a49b12c0bc0a0a764b54fa240724240b718fdd7ac285238f297ca4e
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue being fixed or feature implemented
Non-deterministic IS locks aren't used anymore since v18 dip24.
We should drop that support to make code simpler.
What was done?
Dropped non-deterministic IS code,
evo_instantsend_testsandfeature_llmq_is_migration.py(don't need it anymore), adjusted func tests.How Has This Been Tested?
all tests, synced Testnet
Breaking Changes
Checklist: