Skip to content

Node shutdown cleanups #5397

@acud

Description

@acud

Currently, the bee node logs a lot of information while shutting down. This is apparently pullsync related, although there are other packages involved. Also, the shutdown takes relatively a lot of time in some cases. The main problem with this is that in the shutdown mechanism there are code sections with individual timeouts which can cause dirty shutdowns on some components which is not ideal.

The scope of the task is to sweep through the shutdown sequence in the node.go file and make sure it is sound:

  • verify all of the inter-dependencies and make sure that the shutdown happens in the right order
  • verify the context cancellation is correct
  • find out whether internal timeouts are triggered and if so - why?
  • handle here is the excessive logging that happens on shutdown - in some areas we might want to catch specifically context cancellation errors and not log them. Instead, we could use prometheus metrics to keep track of context cancellations if that is needed (or specifically check whether we are shutting down actively in order to know whether to log things or not).

AC:

  • node shuts down quickly without waiting for more messages
  • no internal timeouts occur in the shutdown process
  • shutdown occurs within a graceful kubernetes pod shutdown time-window
  • test this on a node connected to the testnet and mainnet

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions