jepsen-io / maelstrom

A workbench for writing toy implementations of distributed systems.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Would it be possible to SIGINT/SIGTERM processes instead of SIGKILLING them?

nikhilm opened this issue · comments

It seems like nodes are sent a sigkill right away at termination (via Process.destroyForcefully. This makes it a little tricky to use things like in-process sampling profilers because the process is killed before the profile can be written.

It would be nicer if the node had its stdin closed/have a sigint and then was given a few seconds to quit before being forcibly killed.

It is pretty easy for the maelstrom implementation in a language to watch for stdin closure and break out of the Run().

Sure, you could patch this in! I should warn that like... at some point I intend to use Maelstrom for testing process crashes, not just network partitions, and when that happens it's definitely gonna be kill -9--losing data is kind of the point! ;-)

Sorry for not responding to this. I was eventually able to skip using a profiler entirely for my specific problem, so I did not continue with this.

I agree that workloads killing processes would be cool!