timothy65535 edited a comment on issue #962: URL: https://github.com/apache/incubator-kyuubi/issues/962#issuecomment-903276117
# Motivation Apache Kyuubi provides three engine share levels: - CONNECTION: engine will not be shared but only used by the current client connection - SERVER: the App will be shared by Kyuubi servers - USER: engine will be shared by all sessions created by a unique username In the current design, kyuubi can provides engine pool through `kyuubi.engine.share.level.sub.domain` option for same user under `USER` share level. It does not have an auto-mechanisn, e.g. create two more engines under same `subDomain`, random picking engines. The goal of this proposal is to provide such auto-mechanism to creating and picking subDomain to implement the feature of the engine pool. # Implementation In this section, describe the implementation of Kyuubi Engine Pool. We need to consider several things - How to control the concurrent create the engine? - How to share the pool size over two more kyuubi server? - Engine pick strategy(sequentially / randomly / load-based)? The key point is to set engine pool size as the content of engine space znode when create the engine space firstlly, so that we can share the pool size over two more kyuubi server, and avoid the inconsistent configuration between different servers effectively. ## Design ### 1. High level  ### 2. Detail work flow  # Tests - KyuubiOperationPerConnectionSuite - KyuubiOperationPerServerSuite - KyuubiOperationPerUserSuite -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
