[go: up one dir, main page]

Dal/Node: architecture hardening

Context

Currently the DAL Node is designed as a draft and has the following behavior:

- Load config, storage
- Track L1 heads as a stream until a protocol containing the Dal Plugin starts.
- Load the DAL Plugin
- Start RPC Server
- Run ad vitam

This contains several flaws we would like to fix:

  • Not handling L1 disconnections
  • Not handling proto changes
  • Not handling multiple kind of requests in parallel
  • RPC server depends on the plugin.

Solutions

  • Mid term Handle L1 node disconnection using exponentially checks on health
  • Mid term Add a general state instead of using a ready boolean reference
  • Mid term Use a worker to handle various type of requests in parallel
  • Mid term Starts the RPC Server before checking for the plugin with an error if the plugin is not started
  • Long term If the protocol changes, the plugin should be reloaded (beware of reorgs)
Edited by Mohamed IGUERNLALA