As a preparatory task for reworking the ExecutionGraph for finer grained recovery, I would clean up the serializability:
- As long as a job is running, the ExecutionGraph cannot be serializable
- Once it is completed, the ExecutionGraph is sent to a local archive actor. This does not require that the graph is serializable.
- In the future, archived execution data should be served from a static dump of the execution data anyways, not from an archived graph. That allows us to move the web monitor server to a separate trusted process (gateway / dispatcher) that will never be in touch with user code.