-
Notifications
You must be signed in to change notification settings - Fork 717
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
Dash LLMQ backports part 4 #2949
Dash LLMQ backports part 4 #2949
Conversation
Remove unused function parameters
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.
Code is consistent with upstream, but some commits need renaming.
In particular 5f391cd is not a merge commit, so it shouldn't be named 'Merge pull request'
…ered sigs (dashpay#2860) * Make CBLSLazySignature thread safe * Perform malleability check in CBLSLazySignature * Use CBLSLazySignature in CRecoveredSig and CInstantSendLock * Only sporadically verify self-recovered signatures * test
…y#2888) * Bail out in few more places when blockchain is not synced yet * Apply review suggestion
…2907) * Print inputs on which we voted Also print the corresponding requestId. This makes debugging InstantSend issues easier. * Print quorum hash when signing a share * Remove unused nodesByAddress map in CSigSharesManager::SendMessages Not related to this PR, but a simple cleanup that should have no side effects.
* Store rs_t key time in big endian Also implement ConvertInvalidTimeKeys to convert old entries. We can remove this later when we know that most MNs have run this code on testnet. The way we stored the time field in the past lead to CleanupOldRecoveredSigs iterating the keys in a strange order, causing no deletion at all and the LLMQ DB filling up. * Write batch in CleanupOldRecoveredSigs when it gets too large This avoids RAM filling up and OOM getting triggered. * Keep track of when a vote was written to the DB and clean up after week Instead of only deleting when the corresponding recovered sig is deleted. It sometimes happens that a masternode votes on something but a recovered sig is never created, which leaves us with a vote that will never be deleted. * Apply suggestions from code review Co-Authored-By: PastaPastaPasta <pasta@dashboost.org>
* Automatically wake up select() when optimistic send was not used But only when we know that we are actually inside select() and that it currenlty is unlikely for it to have selected the node's socket for sending. We accept race conditions here as the select() timeout will ensure that we always send the data. * Don't manually call WakeSelect() in CSigSharesManager::SendMessages Not needed anymore * Disable optimistic send in PushMessage by default
This avoids calling WakeupSelect() for each node instead of just once.
…t confirmed (dashpay#3048) * Remove unused overload of RemoveInstantSendLock * Move deletion of recovered sigs into own method * Remove recovered sigs for fully confirmed IS locks * Also remove rs_t entries when removing recovered sigs from the outside CleanupOldRecoveredSigs already does this as the last step, but when RemoveRecoveredSig is called from the outside (e.g. from InstantSend), these keys are not removed. This PR fixes this by storing the write time into rs_r and later uses it to remove the rs_t entry. Old entries will be incompatible with this (1 byte written in the past, 4 bytes written now). This checked by comparing the data size with sizeof(uint32_t). * Add TODO
…#3052) * Split ProcessPendingInstantSendLocks into two methods * Split SelectQuorumForSigning into SelectQuorumForSigning and GetActiveQuorumSet * Implement retrying of IS lock verification when the LLMQ active set rotates
-BEGIN VERIFY SCRIPT- sed -i 's/llmqChainLocks/llmqTypeChainLocks/g' src/*.cpp src/*.h src/*/*.cpp src/*/*.h sed -i 's/llmqForInstantSend/llmqTypeInstantSend/g' src/*.cpp src/*.h src/*/*.cpp src/*/*.h -END VERIFY SCRIPT-
b30d7f5
to
c7e2beb
Compare
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.
utACK c7e2beb
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.
utACK c7e2beb
each commit backports a different PR