The main adjustment here is the thread pool used when creating and closing sessions asynchronously. Scala's default thread pool size is limited, which will cause the waiting thread to be blocked.
Set livy.rsc.server.connect.timeout to something high like 24h.
Create enough interactive livy sessions in YARN so that they are queued in ACCEPTED state. The number of sessions that are stuck in ACCEPTED state should be equal to global execution context thread pool size (Runtime.availableProcessors)
Try to delete a session using DELETE /sessions/
{sessionId}
and it should not be hang until one of the sessions is no longer stuck in ACCEPTED state.
…ver.connect.timeout blocks other tasks
What changes were proposed in this pull request?
The main adjustment here is the thread pool used when creating and closing sessions asynchronously. Scala's default thread pool size is limited, which will cause the waiting thread to be blocked.
https://issues.apache.org/jira/browse/LIVY-1003
How was this patch tested?
How to reproduce:
livy.rsc.server.connect.timeout
to something high like 24h.