You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[KYUUBI #4623][K8S] KubernetesApplicationOperation uses Informer instead of list
### _Why are the changes needed?_
Close#4623
To reduce the pressure on the Api Server (which use the kubernetes client polls with label to find the `spark driver pod` when multiple Rest Application are running at the same time), use informer, the kubernetes-recommended method of maintaining the application state.
### _How was this patch tested?_
- [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible
- [ ] Add screenshots for manual tests if appropriate
- [ ] [Run test](https://kyuubi.readthedocs.io/en/master/develop_tools/testing.html#running-tests) locally before make a pull request
- [x] Run CI
Closes#4625 from zwangsheng/KYUUBI_4623.
Closes#4623a415bef [Cheng Pan] nit
136d0db [Cheng Pan] 171
b5d3c23 [Cheng Pan] re-generate conf
bf14ad8 [Cheng Pan] nit
9ee7e04 [Cheng Pan] nit
301162e [Cheng Pan] nit
1d42692 [Cheng Pan] nit
b95d7a6 [Cheng Pan] improve
cc8d2c7 [zwangsheng] fix comments
d017baf [zwangsheng] Set resycn 0
28f9a70 [zwangsheng] Reorder func & slow get app info
22d9c16 [zwangsheng] fix setting
8e09403 [zwangsheng] fix comments
10965d3 [zwangsheng] Rename fileter function => isSparkEnginePod
b026771 [zwangsheng] rename
78c9fdb [zwangsheng] fix comments
6d31f70 [zwangsheng] Fix IT Test
f43bba2 [zwangsheng] fix
17e4f55 [zwangsheng] debug
be8da79 [zwangsheng] debug
0db45a5 [zwangsheng] retest
a93786a [zwangsheng] Fix style
652ee83 [zwangsheng] Add Setting & Debug
4add7e4 [zwangsheng] improve
1f43412 [zwangsheng] remove unused import
35acd61 [zwangsheng] fix compile
05dfc59 [zwangsheng] [KYUUBI #4623][Improvement][K8S] Remove cached app info when out of time
4ab530e [zwangsheng] [KYUUBI #4623][Improvement][K8S] kubernetesApplicationOperation Using Informer instead of list
Lead-authored-by: zwangsheng <[email protected]>
Co-authored-by: Cheng Pan <[email protected]>
Signed-off-by: Cheng Pan <[email protected]>
Copy file name to clipboardExpand all lines: docs/deployment/settings.md
+13-12Lines changed: 13 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -169,7 +169,7 @@ You can configure the Kyuubi properties in `$KYUUBI_HOME/conf/kyuubi-defaults.co
169
169
| kyuubi.engine.spark.python.env.archive | <undefined> | Portable Python env archive used for Spark engine Python language mode. | string | 1.7.0 |
170
170
| kyuubi.engine.spark.python.env.archive.exec.path | bin/python | The Python exec path under the Python env archive. | string | 1.7.0 |
171
171
| kyuubi.engine.spark.python.home.archive | <undefined> | Spark archive containing $SPARK_HOME/python directory, which is used to init session Python worker for Python language mode. | string | 1.7.0 |
172
-
| kyuubi.engine.submit.timeout | PT30S | Period to tolerant Driver Pod ephemerally invisible after submitting. In some Resource Managers, e.g. K8s, the Driver Pod is not invisible immediately after `spark-submit` is returned. | duration | 1.7.1 |
172
+
| kyuubi.engine.submit.timeout | PT30S | Period to tolerant Driver Pod ephemerally invisible after submitting. In some Resource Managers, e.g. K8s, the Driver Pod is not visible immediately after `spark-submit` is returned. | duration | 1.7.1 |
173
173
| kyuubi.engine.trino.event.loggers | JSON | A comma-separated list of engine history loggers, where engine/session/operation etc events go.<ul> <li>JSON: the events will be written to the location of kyuubi.engine.event.json.log.path</li> <li>JDBC: to be done</li> <li>CUSTOM: to be done.</li></ul> | seq | 1.7.0 |
174
174
| kyuubi.engine.trino.extra.classpath | <undefined> | The extra classpath for the Trino query engine, for configuring other libs which may need by the Trino engine | string | 1.6.0 |
175
175
| kyuubi.engine.trino.java.options | <undefined> | The extra Java options for the Trino query engine | string | 1.6.0 |
@@ -292,17 +292,18 @@ You can configure the Kyuubi properties in `$KYUUBI_HOME/conf/kyuubi-defaults.co
| kyuubi.kubernetes.authenticate.caCertFile |<undefined>| Path to the CA cert file for connecting to the Kubernetes API server over TLS from the kyuubi. Specify this as a path as opposed to a URI (i.e. do not provide a scheme) | string | 1.7.0 |
298
-
| kyuubi.kubernetes.authenticate.clientCertFile |<undefined>| Path to the client cert file for connecting to the Kubernetes API server over TLS from the kyuubi. Specify this as a path as opposed to a URI (i.e. do not provide a scheme) | string | 1.7.0 |
299
-
| kyuubi.kubernetes.authenticate.clientKeyFile |<undefined>| Path to the client key file for connecting to the Kubernetes API server over TLS from the kyuubi. Specify this as a path as opposed to a URI (i.e. do not provide a scheme) | string | 1.7.0 |
300
-
| kyuubi.kubernetes.authenticate.oauthToken |<undefined>| The OAuth token to use when authenticating against the Kubernetes API server. Note that unlike, the other authentication options, this must be the exact string value of the token to use for the authentication. | string | 1.7.0 |
301
-
| kyuubi.kubernetes.authenticate.oauthTokenFile |<undefined>| Path to the file containing the OAuth token to use when authenticating against the Kubernetes API server. Specify this as a path as opposed to a URI (i.e. do not provide a scheme) | string | 1.7.0 |
302
-
| kyuubi.kubernetes.context |<undefined>| The desired context from your kubernetes config file used to configure the K8s client for interacting with the cluster. | string | 1.6.0 |
303
-
| kyuubi.kubernetes.master.address |<undefined>| The internal Kubernetes master (API server) address to be used for kyuubi. | string | 1.7.0 |
304
-
| kyuubi.kubernetes.namespace | default | The namespace that will be used for running the kyuubi pods and find engines. | string | 1.7.0 |
305
-
| kyuubi.kubernetes.trust.certificates | false | If set to true then client can submit to kubernetes cluster only with token | boolean | 1.7.0 |
| kyuubi.kubernetes.authenticate.caCertFile |<undefined>| Path to the CA cert file for connecting to the Kubernetes API server over TLS from the kyuubi. Specify this as a path as opposed to a URI (i.e. do not provide a scheme) | string | 1.7.0 |
298
+
| kyuubi.kubernetes.authenticate.clientCertFile |<undefined>| Path to the client cert file for connecting to the Kubernetes API server over TLS from the kyuubi. Specify this as a path as opposed to a URI (i.e. do not provide a scheme) | string | 1.7.0 |
299
+
| kyuubi.kubernetes.authenticate.clientKeyFile |<undefined>| Path to the client key file for connecting to the Kubernetes API server over TLS from the kyuubi. Specify this as a path as opposed to a URI (i.e. do not provide a scheme) | string | 1.7.0 |
300
+
| kyuubi.kubernetes.authenticate.oauthToken |<undefined>| The OAuth token to use when authenticating against the Kubernetes API server. Note that unlike, the other authentication options, this must be the exact string value of the token to use for the authentication. | string | 1.7.0 |
301
+
| kyuubi.kubernetes.authenticate.oauthTokenFile |<undefined>| Path to the file containing the OAuth token to use when authenticating against the Kubernetes API server. Specify this as a path as opposed to a URI (i.e. do not provide a scheme) | string | 1.7.0 |
302
+
| kyuubi.kubernetes.context |<undefined>| The desired context from your kubernetes config file used to configure the K8s client for interacting with the cluster. | string | 1.6.0 |
303
+
| kyuubi.kubernetes.master.address |<undefined>| The internal Kubernetes master (API server) address to be used for kyuubi. | string | 1.7.0 |
304
+
| kyuubi.kubernetes.namespace | default | The namespace that will be used for running the kyuubi pods and find engines. | string | 1.7.0 |
305
+
| kyuubi.kubernetes.terminatedApplicationRetainPeriod | PT5M | The period for which the Kyuubi server retains application information after the application terminates. | duration | 1.7.1 |
306
+
| kyuubi.kubernetes.trust.certificates | false | If set to true then client can submit to kubernetes cluster only with token | boolean | 1.7.0 |
Copy file name to clipboardExpand all lines: integration-tests/kyuubi-kubernetes-it/src/test/scala/org/apache/kyuubi/kubernetes/test/spark/SparkOnKubernetesTestsSuite.scala
+8-9Lines changed: 8 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -208,19 +208,18 @@ class KyuubiOperationKubernetesClusterClusterModeSuite
0 commit comments