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

Improve Nodeos Plugin Shutdown Patterns #1099

Closed
5 tasks
bhazzard opened this issue Apr 27, 2023 · 2 comments · May be fixed by #1231
Closed
5 tasks

Improve Nodeos Plugin Shutdown Patterns #1099

bhazzard opened this issue Apr 27, 2023 · 2 comments · May be fixed by #1231

Comments

@bhazzard
Copy link

Story

Short Description
As an Antelope core developer, I want nodeos to follow a consistent and safe approach to shutdown across all plugins.

What
This will involve analyzing the current shutdown patterns, choosing a set of patterns that should be consistently applied, documenting the chosen patterns in a README.md in the plugin directory, implementing some enforcement to ensure pattern adherence, and fixing any non-adherence to the chosen patterns.

Why
The current shutdown patterns in Nodeos plugins are causing lingering issues, as evidenced by the #646 issue. In order to prevent similar issues from occurring in the future, it is important to have a consistent and safe approach to plugin shutdown that can be followed by all plugins. This will ensure that callbacks are not being run anywhere during shutdown, and that objects are destroyed in the correct order, which will make it easier to reason about the safety of the shutdown process.

How

  • Analyze the current shutdown patterns in Nodeos plugins to identify any issues and inconsistencies.
  • Choose a set of shutdown patterns that should be consistently applied to all plugins.
  • Document chosen patterns in a README.md file in the plugin directory.
  • Implement enforcement mechanisms to ensure that plugins adhere to the chosen shutdown patterns.
  • Fix any non-adherence to the chosen shutdown patterns in existing plugins.

Acceptance Criteria

  • All plugins adhere to the chosen shutdown patterns.
  • The testing suite verifies that the chosen shutdown patterns are being followed correctly.
  • An enforcement mechanism ensures that chosen shutdown patterns are consistently applied.
  • Desired patterns are documented in a README.md file in the plugin directory
    • Clear and comprehensive explanation of chosen shutdown patterns
    • Examples of how to implement them

Background

Originally part of AntelopeIO/spring#842

@bhazzard
Copy link
Author

Not urgent, but blocked awaiting feedback from Matt

@bhazzard
Copy link
Author

Closing as duplicate of AntelopeIO/spring#842

@bhazzard bhazzard closed this as not planned Won't fix, can't repro, duplicate, stale Jun 22, 2023
@github-project-automation github-project-automation bot moved this from Blocked to Done in Team Backlog Jun 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants