Consider a situation where the server has sent some results back to the client and is waiting for Netty channel to be writable again before sending rest of the results. Let's assume that the client dies (or is closed) at this instant without consuming the entire set of results.
In this case, the server threads will continue to wait for the channel to become writable (which it never will since client is dead) until the timeout is hit.
We need to change the behaviour such that the waiting thread loop breaks if the channel becomes inactive. Such loop exists at TraversalOpProcessor (for bytecode execution) and AbstractOpProcessor(for string execution) in the server.