Currently when state is requested from the master, the response is built using the master actor. This means that when the master is building an expensive state response, the master is locked and cannot process other events. This in turn can lead to higher latency on further requests to state. Previous performance improvements to JSON generation (
MESOS-4235) alleviated this issue, but for large cluster with a lot of clients this can still be a problem.
It's possible to serve state outside of the master actor by streaming the state (re-using the existing streaming operator API) into another actor(s) and serving from there.
NOTE: I believe this approach will incur a small performance cost during master failover, since the master has to perform an additional copy of state that it fans out.