Closed
Description
When testing distributed systems, it's pretty useful to be able to simulate communication errors. I propose that we write some extensions to network-transport-inmemory that allow a test coordinator to mess with the connectivity between nodes, introducing arbitrary delays, forced disconnects and so on.
I would also like to have something like https://github.com/dluna/chaos_monkey that kills arbitrary processes on demand, but stays away from system processes and supervisors. Quite how one should identify that a process is a supervisor I don't know. Erlang uses the process dictionary for this (storing the initial_call and such things in there) but we might want to think about other approaches.