Skip to content

Conversation

panleone
Copy link

@panleone panleone commented Apr 4, 2024

Backport dash PRs (in the following order):
dashpay#2640
dashpay#2672
dashpay#2674
dashpay#2702
dashpay#2705
dashpay#2706
dashpay#2707

NB: Some or them are partial backports since most of our llmq files are already updated to a more recent upstream version. So I basically ended up picking the commits that touch only the files quorums_signing_shares.* and quorums_signing.*

I suggest to review by checking each individual commit against the corresponding upstream one

@panleone panleone added this to the 6.0.0 milestone Apr 4, 2024
@panleone panleone requested review from Liquid369 and Duddino April 4, 2024 17:49
@panleone panleone self-assigned this Apr 4, 2024
codablock and others added 9 commits April 7, 2024 13:02
When iterating the db, we should also include entries that match exactly
the end time.
Profiling has shown that a lot of time is spent in resizing the data
vector when large messages are involved.
This removes the burden on the message handler thread when many sig batches
arrive. The expensive part of deserialization is now performed in the sig
shares worker thread.

This also removes the need for the specialized deserialization of the sig
shares which tried to avoid the malleability check, as CBLSLazySignature does
not perform malleability checks at all.
To avoid repeated calls into LevelDB
When the current iteration resulted in CPU intensive work, it's likely that
the next iteration will result in work as well. Do not sleep in that case,
as we're otherwise wasting (unused) CPU resources.
@panleone panleone force-pushed the dash_llmq_backports branch from 4e40e25 to 22efef0 Compare April 7, 2024 11:02
Copy link
Member

@Liquid369 Liquid369 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tACK 22efef0
Sorry for delay in review had this done for abit but hadn't posted

Copy link
Member

@Duddino Duddino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 22efef0

@Fuzzbawls Fuzzbawls merged commit 4c17603 into PIVX-Project:master Aug 9, 2024
@panleone panleone deleted the dash_llmq_backports branch October 30, 2024 10:20
Fuzzbawls added a commit that referenced this pull request Nov 5, 2024
a29d294 Fix deadlock in CSigSharesManager::SendMessages (#2757) (Alexander Block)
b4a4e09 Ignore sig share inv messages when we don't have the quorum vvec (#2733) (Alexander Block)
a2fb276 On timeout, print members proTxHashes from members which did not send a share (#2731) (Alexander Block)
d1084e0 Actually start the timers for sig share and recSig verification (#2730) (Alexander Block)
71092e0 Send/Receive multiple messages as part of one P2P message in CSigSharesManager (#2729) (Alexander Block)
e73c238 Merge pull request #2726 from codablock/pr_llmq_sessionids (UdjinM6)
7ccd790 Merge pull request #2725 from codablock/pr_llmq_hashmaps (Alexander Block)
a0084f5 Multiple fixes and optimizations for LLMQs and ChainLocks (#2724) (Alexander Block)
0613978 Cleanup successful sessions before doing timeout check (#2712) (Alexander Block)
c9127e1 Avoid using ordered maps in LLMQ signing code (#2708) (Alexander Block)

Pull request description:

  Follow up of #2921

  each commit backports a PR. you can find the number of the PR in the commit description

ACKs for top commit: a29d294
  Duddino:
    utACK a29d294
  Fuzzbawls:
    utACK a29d294

Tree-SHA512: 75483d543f39d85a2924606b1f7c359a45a52e0ebd84bdc06275080db2d07aa657d692461fbf22d23890d3a0394ebffae0c662a2def420d53ebcdb69c974ba6f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants