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

Using post-processing events for all operations #2820

Merged

Conversation

guilhermelawless
Copy link
Contributor

This further eliminates cases of simultaneously holding both a write transaction and the active mutex.

  • Use std::shared_ptr<nano::block> const & in all blockprocessor and node signatures
  • Adds updated as another type of processing step of blockprocessor::process_batch , which only updates blocks if they exist. This is used by active_transactions::restart. Happy to discuss alternative approaches to reduce the complexity of process_batch which now differentiates between block/forced/update.
  • Use the block post-processing events for old/gap/fork/bad_sign which are all mutex-acquiring operations and can be deferred

@guilhermelawless guilhermelawless added the performance Performance/resource utilization improvement label Jun 17, 2020
@guilhermelawless guilhermelawless added this to the V22.0 milestone Jun 17, 2020
@guilhermelawless guilhermelawless self-assigned this Jun 17, 2020
SergiySW
SergiySW previously approved these changes Jun 29, 2020
wezrule
wezrule previously approved these changes Jul 17, 2020
SergiySW
SergiySW previously approved these changes Jul 21, 2020
@guilhermelawless guilhermelawless dismissed stale reviews from SergiySW and wezrule via 0787971 July 27, 2020 09:25
@guilhermelawless guilhermelawless force-pushed the blockprocessor/post-events-full branch from 0787971 to 0bb7e86 Compare July 27, 2020 09:29
@guilhermelawless guilhermelawless force-pushed the blockprocessor/post-events-full branch from 1745f4a to 0f55da5 Compare July 27, 2020 10:54
SergiySW
SergiySW previously approved these changes Sep 11, 2020
wezrule
wezrule previously approved these changes Sep 18, 2020
…ost-events-full

# Conflicts:
#	nano/node/node.cpp
#	nano/node/node.hpp
@guilhermelawless guilhermelawless dismissed stale reviews from ghost , wezrule, and SergiySW via 566936d September 22, 2020 10:20
SergiySW
SergiySW previously approved these changes Sep 30, 2020
wezrule
wezrule previously approved these changes Oct 7, 2020
@guilhermelawless guilhermelawless dismissed stale reviews from wezrule and SergiySW via b91f072 October 9, 2020 17:20
wezrule
wezrule previously approved these changes Oct 12, 2020
# Conflicts:
#	nano/node/blockprocessor.cpp
#	nano/node/blockprocessor.hpp
#	nano/node/node.cpp
@clemahieu clemahieu merged commit 66a3af9 into nanocurrency:develop Oct 18, 2020
@guilhermelawless guilhermelawless deleted the blockprocessor/post-events-full branch October 21, 2020 12:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Performance/resource utilization improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants