Skip to content
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

Remove recovered sigs from the LLMQ db when corresponding IS locks get confirmed #3048

Merged
merged 5 commits into from
Aug 12, 2019

Conversation

codablock
Copy link

This should reduce the required size of the llmq directory a lot.

We should also backport this to 0.14.0.3.

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).
@codablock codablock added this to the 14.1 milestone Aug 7, 2019
@codablock
Copy link
Author

Test failure is due to #3051

UdjinM6
UdjinM6 previously approved these changes Aug 8, 2019
Copy link

@UdjinM6 UdjinM6 left a comment

Choose a reason for hiding this comment

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

utACK

Copy link
Member

@PastaPastaPasta PastaPastaPasta left a comment

Choose a reason for hiding this comment

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

utACK

Copy link

@UdjinM6 UdjinM6 left a comment

Choose a reason for hiding this comment

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

re-utACK

@codablock codablock merged commit 13e0235 into dashpay:develop Aug 12, 2019
@codablock codablock deleted the pr_islock_sigs_cleanup branch August 12, 2019 07:35
codablock added a commit to codablock/dash that referenced this pull request Aug 12, 2019
…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
MIPPL pushed a commit to biblepay/biblepay that referenced this pull request Nov 20, 2019
* commit '7d8eab2641023c78a72ccd6efc99fc35fd030a46': (32 commits)
  Add 0.14.0.3 change log to release-notes.md (dashpay#3055)
  Update release-notes.md for 0.14.0.3 (dashpay#3054)
  Bump version to 0.14.0.3 and copy release notes (dashpay#3053)
  Re-verify invalid IS sigs when the active quorum set rotated (dashpay#3052)
  Remove recovered sigs from the LLMQ db when corresponding IS locks get confirmed (dashpay#3048)
  Add "instantsendlocks" to getmempoolinfo RPC (dashpay#3047)
  Use fEnablePrivateSend instead of fPrivateSendRunning
  Show number of InstantSend locks in Debug Console (dashpay#2919)
  Optimize on-disk deterministic masternode storage to reduce size of evodb (dashpay#3017)
  Add "isValidMember" and "memberIndex" to "quorum memberof" and allow to specify quorum scan count (dashpay#3009)
  Implement "quorum memberof" (dashpay#3004)
  Bail out properly on Evo DB consistency check failures in ConnectBlock/DisconnectBlock (dashpay#3044)
  Do not count 0-fee txes for fee estimation (dashpay#3037)
  Fix broken link in PrivateSend info dialog (dashpay#3031)
  Merge pull request dashpay#3028 from PastaPastaPasta/backport-12588
  Add Dash Core Group codesign certificate (dashpay#3027)
  Fix osslsigncode compile issue in gitian-build (dashpay#3026)
  Backport bitcoin#12783: macOS: disable AppNap during sync (and mixing) (dashpay#3024)
  Remove support for InstantSend locked gobject collaterals (dashpay#3019)
  [v0.14.0.x] Update release notes for 0.14.0.2 (dashpay#3012)
  ...

# Conflicts:
#	.gitignore
#	.travis.yml
#	configure.ac
#	doc/man/biblepay-cli.1
#	doc/man/biblepay-qt.1
#	doc/man/biblepay-tx.1
#	doc/man/biblepayd.1
#	doc/release-notes.md
#	src/clientversion.h
#	src/qt/utilitydialog.cpp
barrystyle pushed a commit to PACGlobalOfficial/PAC that referenced this pull request Jan 22, 2020
…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
panleone pushed a commit to panleone/PIVX that referenced this pull request Nov 10, 2024
…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
panleone pushed a commit to panleone/PIVX that referenced this pull request Nov 14, 2024
…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
Fuzzbawls added a commit to PIVX-Project/PIVX that referenced this pull request Nov 15, 2024
c7e2beb scripted-diff: Refactor llmq type consensus param names (dashpay#3093) (UdjinM6)
af7bb99 Re-verify invalid IS sigs when the active quorum set rotated (dashpay#3052) (Alexander Block)
be20a71 Remove recovered sigs from the LLMQ db when corresponding IS locks get confirmed (dashpay#3048) (Alexander Block)
802a933 Don't wake up select if it was already woken up (dashpay#2863) (Alexander Block)
436300d  Disable optimistic send in PushMessage by default (dashpay#2859) (Alexander Block)
44ad484 Optimize LLMQs sending of sig shares (dashpay#2704) (Alexander Block)
e01ad46 Fix db leaks in LLMQ db (dashpay#2914) (Alexander Block)
d2a2d15 Print inputs on which we voted and quorums used for signing (dashpay#2907) (Alexander Block)
dce46ad Bail out in few more places when blockchain is not synced yet (dashpay#2888) (UdjinM6)
965a4a7 Use lazy BLS signatures more often and don't always verify self-recovered sigs (dashpay#2860) (Alexander Block)
f4a5a04 cherry pick dashpay#2889 (UdjinM6)

Pull request description:

  each commit backports a different PR

ACKs for top commit: c7e2beb
  Duddino:
    utACK c7e2beb
  Liquid369:
    utACK c7e2beb

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

Successfully merging this pull request may close these issues.

3 participants