Code of Conduct
Search before asking
Describe the feature
Umbrella for the security-hardening / isolation follow-ups deferred while landing the Data Agent engine (#7379, last PR #7431). Sub-tasks are tracked inline, not split into separate issues.
Root cause behind most of these: DataAgentProcessBuilder extends ProcBuilder, so the engine runs as a local child process on the Kyuubi server host (no k8s/YARN launch path) and shares the server's Kerberos credential cache, network identity, and filesystem. That sharing is why Kerberos is currently banned and why credentials must go in the JDBC URL. Giving the engine its own isolated runtime + identity unblocks the rest.
Sub-tasks
Dependency order: ①a fixes cross-server request routing first. ①b then decouples engine lifetime and identity from the launching server; ② and ③ build on ①b. ④ and #7412 are independent.
Are you willing to submit PR?
Code of Conduct
Search before asking
Describe the feature
Umbrella for the security-hardening / isolation follow-ups deferred while landing the Data Agent engine (#7379, last PR #7431). Sub-tasks are tracked inline, not split into separate issues.
Root cause behind most of these:
DataAgentProcessBuilder extends ProcBuilder, so the engine runs as a local child process on the Kyuubi server host (no k8s/YARN launch path) and shares the server's Kerberos credential cache, network identity, and filesystem. That sharing is why Kerberos is currently banned and why credentials must go in the JDBC URL. Giving the engine its own isolated runtime + identity unblocks the rest.Sub-tasks
KyuubiSessionImpl. The conversation, approval, and tool state remains in the engine. This fixes requests being routed to another server in a multi-server deployment; it does not preserve a local child engine when its launching server fails.DATA_AGENTruns in its own container with a distinct identity instead of as a local child of the server — k8s first, YARN later; keep local-process as a dev fallback. This decouples engine lifetime from a server instance and unblocks ② and ③.hadoop.proxyuserACLs, lifting the current ban. Removes the two TODOs inEngineRef#deriveDataAgentJdbcUrlandChatCompletionProvider.propagateCredentialopt-in so secrets aren't embedded inkyuubi.engine.data.agent.jdbc.url. Align with the JDBC engine'spropagateCredentialand Trino'sconnection.userfallback. Raised in [KYUUBI #7379][4/4] Data Agent Engine: REST API, SSE streaming, and Web UI #7431.CompactionMiddlewareuse a model distinct from the main agent model, falling back when unset (see its TODO).run_select_query— tracked in [FEATURE] Add a proper SQL read-only check for run_select_query #7412; linked for visibility, orthogonal to the above.Dependency order: ①a fixes cross-server request routing first. ①b then decouples engine lifetime and identity from the launching server; ② and ③ build on ①b. ④ and #7412 are independent.
Are you willing to submit PR?