It turns out #15041 has fixed most of the graceful shutdown issue, there's still one more issue with ABCI handshake, handshake could replay lots of blocks for a long time, when we interrupted it with signals, it better to handle in a graceful way, so it'll work with the --cpu-profile flag, and async commit feature.
right now handshake happens in NewNode, and not cancelable, which breaks the profiling and async commit feature which needs graceful shutdown to cleanup resource.
we need to fix that in cometbft first, make the handshake process cancelable with a Context (cometbft/cometbft#857).
It turns out #15041 has fixed most of the graceful shutdown issue, there's still one more issue with ABCI handshake, handshake could replay lots of blocks for a long time, when we interrupted it with signals, it better to handle in a graceful way, so it'll work with the
--cpu-profileflag, and async commit feature.right now handshake happens in
NewNode, and not cancelable, which breaks the profiling and async commit feature which needs graceful shutdown to cleanup resource.we need to fix that in cometbft first, make the handshake process cancelable with a
Context(cometbft/cometbft#857).