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

refactor: outbound message pipeline, threads and mempool improvements #3792

Merged
merged 2 commits into from
Feb 4, 2022

Conversation

sdbondi
Copy link
Member

@sdbondi sdbondi commented Feb 3, 2022

Description

  • Use bounded executor for outbound pipeline
  • Release chain storage read lock earlier in transaction validator
  • Reinstate blocking threads for mempool
  • Make some non-error comms logs messages look less like errors

Motivation and Context

  • If the outbound pipeline is flooded (>100 messages), back-pressure will apply to callers
  • Release the read lock on the blockchain db before performing potentially multi-second transaction validations
  • For large transactions, mempool operations can hold up a tokio worker for multiple seconds

How Has This Been Tested?

Existing tests updated as needed, Manually (ping-peer, mini stress test and pruned sync)

@sdbondi sdbondi force-pushed the core-short-lived-lock branch 4 times, most recently from 854bae1 to ab3a523 Compare February 3, 2022 10:45
@stringhandler stringhandler changed the title refactor: use bounded executor for outbound messaging pipeline refactor: outbound message pipeline, threads and mempool improvements Feb 4, 2022
@aviator-app aviator-app bot merged commit 6f38420 into tari-project:development Feb 4, 2022
sdbondi added a commit to sdbondi/tari that referenced this pull request Feb 8, 2022
* development:
  refactor: reduce log level of some messages (tari-project#3804)
  ci: move Apple IDs into envs (tari-project#3797)
  feat: read asset definitions from base layer (tari-project#3802)
  fix: bump flood ban messages config (tari-project#3799)
  docs: readme fixes (tari-project#3800)
  feat(wallet_ffi)!:  add base node connectivity callback to wallet ffi (tari-project#3796)
  fix: minor fixes on collectibles (tari-project#3795)
  refactor: outbound message pipeline, threads and mempool improvements (tari-project#3792)
  feat(collectibles): add delete committee member button (tari-project#3786)
  fix(comms): minor edge-case fix to handle inbound connection while dialing (tari-project#3785)
  fix(core)!: fix potential panic for sidechain merkle root with incorrect length (tari-project#3788)
  fix(core): reduce one block behind waiting period (tari-project#3798)
  feat: add specific LibWallet error code for “Fee is greater than amount” (tari-project#3793)
  fix: coinbase output recovery bug (tari-project#3789)
  feat(base-node): add number of active sync peers metric (tari-project#3784)
  chore: script to keep .gitkeep file (tari-project#3787)
  feat: re-use scanned range proofs (tari-project#3764)
  feat: ability to compile on stable rust (tari-project#3759)
  feat: add logging and config to collectibles (tari-project#3781)
  chore: remove debug info from get-mempool-state (tari-project#3782)
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.

2 participants