This is an automated email from the ASF dual-hosted git repository.

ulyssesyou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-kyuubi.git


The following commit(s) were added to refs/heads/master by this push:
     new 677e2a4  [KYUUBI #1889] Improve the user experience of the 
configuration parameters of the document
677e2a4 is described below

commit 677e2a40ab421c33d27d4e5092ec892a382d4a80
Author: sychen <[email protected]>
AuthorDate: Fri Feb 11 09:29:50 2022 +0800

    [KYUUBI #1889] Improve the user experience of the configuration parameters 
of the document
    
    ### _Why are the changes needed?_
    https://kyuubi.apache.org/docs/latest/deployment/settings.html
    The configuration parameters in the document are too long and a newline is 
inserted(`<br/>`), which makes it difficult to search.
    And if the user copies the configuration parameters, it may become several 
lines.
    
    Use `<code>` to replace `<br/>`.
    
    https://github.com/apache/incubator-kyuubi/issues/1889
    
    ### _How was this patch tested?_
    - [x] Add some test cases that check the changes thoroughly including 
negative and positive cases if possible
    
    - [x] Add screenshots for manual tests if appropriate
    
    - [ ] [Run 
test](https://kyuubi.apache.org/docs/latest/develop_tools/testing.html#running-tests)
 locally before make a pull request
    
    Closes #1890 from cxzl25/KYUUBI-1889.
    
    Closes #1889
    
    765b0622 [sychen] format metrics.md
    abeb0601 [sychen] add newline
    28865ad7 [sychen] increase max width
    2f9c7e05 [sychen] use <code>
    
    Authored-by: sychen <[email protected]>
    Signed-off-by: ulysses-you <[email protected]>
---
 docs/_static/css/custom.css                        |  22 ++
 docs/conf.py                                       |   3 +-
 docs/deployment/settings.md                        | 300 ++++++++++-----------
 docs/monitor/metrics.md                            |  80 +++---
 .../kyuubi/config/AllKyuubiConfiguration.scala     |  16 +-
 5 files changed, 215 insertions(+), 206 deletions(-)

diff --git a/docs/_static/css/custom.css b/docs/_static/css/custom.css
new file mode 100644
index 0000000..8963222
--- /dev/null
+++ b/docs/_static/css/custom.css
@@ -0,0 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+@import url("theme.css");
+
+.wy-nav-content {
+    max-width: 90%;
+}
diff --git a/docs/conf.py b/docs/conf.py
index db9f032..081f242 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -118,7 +118,8 @@ pygments_style = 'sphinx'
 # Add any paths that contain custom static files (such as style sheets) here,
 # relative to this directory. They are copied after the builtin static files,
 # so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = []
+html_static_path = ['_static']
+html_style = 'css/custom.css'
 htmlhelp_basename = 'Recommonmarkdoc'
 
 github_doc_root = 
'https://github.com/apache/incubator-kyuubi/tree/master/docs/'
diff --git a/docs/deployment/settings.md b/docs/deployment/settings.md
index cfb635d..56ea973 100644
--- a/docs/deployment/settings.md
+++ b/docs/deployment/settings.md
@@ -127,228 +127,228 @@ You can configure the Kyuubi properties in 
`$KYUUBI_HOME/conf/kyuubi-defaults.co
 
 Key | Default | Meaning | Type | Since
 --- | --- | --- | --- | ---
-kyuubi\.authentication|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>NONE</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>A comma separated list of client authentication 
types.<ul> <li>NOSASL: raw transport.</li> <li>NONE: no authentication 
check.</li> <li>KERBEROS: Kerberos/GSSAPI authentication.</li> <li>CUSTOM: 
User-defined authentication.</li> <li>LDAP: Lightweight Directory Access 
Protocol authentication.</li></ul> Note that: For KERBER [...]
-kyuubi\.authentication<br>\.custom\.class|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>User-defined authentication 
implementation of 
org.apache.kyuubi.service.authentication.PasswdAuthenticationProvider</div>|<div
 style='width: 30pt'>string</div>|<div style='width: 20pt'>1.3.0</div>
-kyuubi\.authentication<br>\.ldap\.base\.dn|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>LDAP base DN.</div>|<div 
style='width: 30pt'>string</div>|<div style='width: 20pt'>1.0.0</div>
-kyuubi\.authentication<br>\.ldap\.domain|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>LDAP domain.</div>|<div 
style='width: 30pt'>string</div>|<div style='width: 20pt'>1.0.0</div>
-kyuubi\.authentication<br>\.ldap\.guidKey|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>uid</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>LDAP attribute name whose values are unique in 
this LDAP server.For example:uid or cn.</div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.2.0</div>
-kyuubi\.authentication<br>\.ldap\.url|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>SPACE character separated LDAP 
connection URL(s).</div>|<div style='width: 30pt'>string</div>|<div 
style='width: 20pt'>1.0.0</div>
-kyuubi\.authentication<br>\.sasl\.qop|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>auth</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Sasl QOP enable higher levels of protection for 
Kyuubi communication with clients.<ul> <li>auth - authentication only 
(default)</li> <li>auth-int - authentication plus integrity protection</li> 
<li>auth-conf - authentication plus integrity and confidentiality protection. 
This is applicable only if Kyuubi is [...]
+<code>kyuubi.authentication</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>NONE</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>A comma separated list of client authentication 
types.<ul> <li>NOSASL: raw transport.</li> <li>NONE: no authentication 
check.</li> <li>KERBEROS: Kerberos/GSSAPI authentication.</li> <li>CUSTOM: 
User-defined authentication.</li> <li>LDAP: Lightweight Directory Access 
Protocol authentication.</li></ul> Note that [...]
+<code>kyuubi.authentication.custom.class</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>User-defined 
authentication implementation of 
org.apache.kyuubi.service.authentication.PasswdAuthenticationProvider</div>|<div
 style='width: 30pt'>string</div>|<div style='width: 20pt'>1.3.0</div>
+<code>kyuubi.authentication.ldap.base.dn</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>LDAP base 
DN.</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.0.0</div>
+<code>kyuubi.authentication.ldap.domain</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>LDAP 
domain.</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.0.0</div>
+<code>kyuubi.authentication.ldap.guidKey</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>uid</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>LDAP attribute name whose 
values are unique in this LDAP server.For example:uid or cn.</div>|<div 
style='width: 30pt'>string</div>|<div style='width: 20pt'>1.2.0</div>
+<code>kyuubi.authentication.ldap.url</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>SPACE character separated LDAP 
connection URL(s).</div>|<div style='width: 30pt'>string</div>|<div 
style='width: 20pt'>1.0.0</div>
+<code>kyuubi.authentication.sasl.qop</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>auth</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Sasl QOP enable higher levels of protection for 
Kyuubi communication with clients.<ul> <li>auth - authentication only 
(default)</li> <li>auth-int - authentication plus integrity protection</li> 
<li>auth-conf - authentication plus integrity and confidentiality protection. 
This is applicable only if Kyu [...]
 
 
 ### Backend
 
 Key | Default | Meaning | Type | Since
 --- | --- | --- | --- | ---
-kyuubi\.backend\.engine<br>\.exec\.pool\.keepalive<br>\.time|<div 
style='width: 65pt;word-wrap: break-word;white-space: normal'>PT1M</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>Time(ms) that an 
idle async thread of the operation execution thread pool will wait for a new 
task to arrive before terminating in SQL engine applications</div>|<div 
style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
-kyuubi\.backend\.engine<br>\.exec\.pool\.shutdown<br>\.timeout|<div 
style='width: 65pt;word-wrap: break-word;white-space: normal'>PT10S</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>Timeout(ms) for 
the operation execution thread pool to terminate in SQL engine 
applications</div>|<div style='width: 30pt'>duration</div>|<div style='width: 
20pt'>1.0.0</div>
-kyuubi\.backend\.engine<br>\.exec\.pool\.size|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>100</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Number of threads in the 
operation execution thread pool of SQL engine applications</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
-kyuubi\.backend\.engine<br>\.exec\.pool\.wait\.queue<br>\.size|<div 
style='width: 65pt;word-wrap: break-word;white-space: normal'>100</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>Size of the wait 
queue for the operation execution thread pool in SQL engine 
applications</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.0.0</div>
-kyuubi\.backend\.server<br>\.event\.json\.log\.path|<div style='width: 
65pt;word-wrap: break-word;white-space: 
normal'>file:///tmp/kyuubi/events</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>The location of server events go for the 
builtin JSON logger</div>|<div style='width: 30pt'>string</div>|<div 
style='width: 20pt'>1.4.0</div>
-kyuubi\.backend\.server<br>\.event\.loggers|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'></div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>A comma separated list of server history 
loggers, where session/operation etc events go.<ul> <li>JSON: the events will 
be written to the location of kyuubi.backend.server.event.json.log.path</li> 
<li>JDBC: to be done</li> <li>CUSTOM: to be done.</li></ul></div>|<div 
style='width: 30pt'>seq</div>|<div styl [...]
-kyuubi\.backend\.server<br>\.exec\.pool\.keepalive<br>\.time|<div 
style='width: 65pt;word-wrap: break-word;white-space: normal'>PT1M</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>Time(ms) that an 
idle async thread of the operation execution thread pool will wait for a new 
task to arrive before terminating in Kyuubi server</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
-kyuubi\.backend\.server<br>\.exec\.pool\.shutdown<br>\.timeout|<div 
style='width: 65pt;word-wrap: break-word;white-space: normal'>PT10S</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>Timeout(ms) for 
the operation execution thread pool to terminate in Kyuubi server</div>|<div 
style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
-kyuubi\.backend\.server<br>\.exec\.pool\.size|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>100</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Number of threads in the 
operation execution thread pool of Kyuubi server</div>|<div style='width: 
30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
-kyuubi\.backend\.server<br>\.exec\.pool\.wait\.queue<br>\.size|<div 
style='width: 65pt;word-wrap: break-word;white-space: normal'>100</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>Size of the wait 
queue for the operation execution thread pool of Kyuubi server</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.backend.engine.exec.pool.keepalive.time</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT1M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Time(ms) that an idle async 
thread of the operation execution thread pool will wait for a new task to 
arrive before terminating in SQL engine applications</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.backend.engine.exec.pool.shutdown.timeout</code>|<div 
style='width: 65pt;word-wrap: break-word;white-space: normal'>PT10S</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>Timeout(ms) for 
the operation execution thread pool to terminate in SQL engine 
applications</div>|<div style='width: 30pt'>duration</div>|<div style='width: 
20pt'>1.0.0</div>
+<code>kyuubi.backend.engine.exec.pool.size</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>100</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Number of threads in the 
operation execution thread pool of SQL engine applications</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.backend.engine.exec.pool.wait.queue.size</code>|<div 
style='width: 65pt;word-wrap: break-word;white-space: normal'>100</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>Size of the wait 
queue for the operation execution thread pool in SQL engine 
applications</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.0.0</div>
+<code>kyuubi.backend.server.event.json.log.path</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: 
normal'>file:///tmp/kyuubi/events</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>The location of server events go for the 
builtin JSON logger</div>|<div style='width: 30pt'>string</div>|<div 
style='width: 20pt'>1.4.0</div>
+<code>kyuubi.backend.server.event.loggers</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'></div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>A comma separated list of 
server history loggers, where session/operation etc events go.<ul> <li>JSON: 
the events will be written to the location of 
kyuubi.backend.server.event.json.log.path</li> <li>JDBC: to be done</li> 
<li>CUSTOM: to be done.</li></ul></div>|<div style='width: 30pt'>seq</div>|<div 
[...]
+<code>kyuubi.backend.server.exec.pool.keepalive.time</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT1M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Time(ms) that an idle async 
thread of the operation execution thread pool will wait for a new task to 
arrive before terminating in Kyuubi server</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.backend.server.exec.pool.shutdown.timeout</code>|<div 
style='width: 65pt;word-wrap: break-word;white-space: normal'>PT10S</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>Timeout(ms) for 
the operation execution thread pool to terminate in Kyuubi server</div>|<div 
style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.backend.server.exec.pool.size</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>100</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Number of threads in the 
operation execution thread pool of Kyuubi server</div>|<div style='width: 
30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.backend.server.exec.pool.wait.queue.size</code>|<div 
style='width: 65pt;word-wrap: break-word;white-space: normal'>100</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>Size of the wait 
queue for the operation execution thread pool of Kyuubi server</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
 
 
 ### Credentials
 
 Key | Default | Meaning | Type | Since
 --- | --- | --- | --- | ---
-kyuubi\.credentials<br>\.hadoopfs\.enabled|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>true</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Whether to renew Hadoop filesystem delegation 
tokens</div>|<div style='width: 30pt'>boolean</div>|<div style='width: 
20pt'>1.4.0</div>
-kyuubi\.credentials<br>\.hadoopfs\.uris|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'></div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Extra Hadoop filesystem URIs for which to 
request delegation tokens. The filesystem that hosts fs.defaultFS does not need 
to be listed here.</div>|<div style='width: 30pt'>seq</div>|<div style='width: 
20pt'>1.4.0</div>
-kyuubi\.credentials<br>\.hive\.enabled|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>true</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Whether to renew Hive metastore delegation 
token</div>|<div style='width: 30pt'>boolean</div>|<div style='width: 
20pt'>1.4.0</div>
-kyuubi\.credentials<br>\.renewal\.interval|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT1H</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>How often Kyuubi renews one user's delegation 
tokens</div>|<div style='width: 30pt'>duration</div>|<div style='width: 
20pt'>1.4.0</div>
-kyuubi\.credentials<br>\.renewal\.retry\.wait|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT1M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>How long to wait before 
retrying to fetch new credentials after a failure.</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.credentials.hadoopfs.enabled</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>true</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Whether to renew Hadoop 
filesystem delegation tokens</div>|<div style='width: 30pt'>boolean</div>|<div 
style='width: 20pt'>1.4.0</div>
+<code>kyuubi.credentials.hadoopfs.uris</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'></div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Extra Hadoop filesystem URIs 
for which to request delegation tokens. The filesystem that hosts fs.defaultFS 
does not need to be listed here.</div>|<div style='width: 30pt'>seq</div>|<div 
style='width: 20pt'>1.4.0</div>
+<code>kyuubi.credentials.hive.enabled</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>true</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Whether to renew Hive 
metastore delegation token</div>|<div style='width: 30pt'>boolean</div>|<div 
style='width: 20pt'>1.4.0</div>
+<code>kyuubi.credentials.renewal.interval</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT1H</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>How often Kyuubi renews one 
user's delegation tokens</div>|<div style='width: 30pt'>duration</div>|<div 
style='width: 20pt'>1.4.0</div>
+<code>kyuubi.credentials.renewal.retry.wait</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT1M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>How long to wait before 
retrying to fetch new credentials after a failure.</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.4.0</div>
 
 
 ### Delegation
 
 Key | Default | Meaning | Type | Since
 --- | --- | --- | --- | ---
-kyuubi\.delegation\.key<br>\.update\.interval|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT24H</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>unused yet</div>|<div 
style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
-kyuubi\.delegation<br>\.token\.gc\.interval|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT1H</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>unused yet</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
-kyuubi\.delegation<br>\.token\.max\.lifetime|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT168H</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>unused yet</div>|<div 
style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
-kyuubi\.delegation<br>\.token\.renew\.interval|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT168H</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>unused yet</div>|<div 
style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.delegation.key.update.interval</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT24H</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>unused yet</div>|<div 
style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.delegation.token.gc.interval</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT1H</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>unused yet</div>|<div 
style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.delegation.token.max.lifetime</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT168H</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>unused yet</div>|<div 
style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.delegation.token.renew.interval</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT168H</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>unused yet</div>|<div 
style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
 
 
 ### Engine
 
 Key | Default | Meaning | Type | Since
 --- | --- | --- | --- | ---
-kyuubi\.engine<br>\.connection\.url\.use<br>\.hostname|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>false</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>(deprecated) When true, engine 
register with hostname to zookeeper. When spark run on k8s with cluster mode, 
set to false to ensure that server can connect to engine</div>|<div 
style='width: 30pt'>boolean</div>|<div style='width: 20pt'>1.3.0</div>
-kyuubi\.engine<br>\.deregister\.exception<br>\.classes|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'></div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>A comma separated list of 
exception classes. If there is any exception thrown, whose class matches the 
specified classes, the engine would deregister itself.</div>|<div style='width: 
30pt'>seq</div>|<div style='width: 20pt'>1.2.0</div>
-kyuubi\.engine<br>\.deregister\.exception<br>\.messages|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'></div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>A comma separated list of 
exception messages. If there is any exception thrown, whose message or 
stacktrace matches the specified message list, the engine would deregister 
itself.</div>|<div style='width: 30pt'>seq</div>|<div style='width: 
20pt'>1.2.0</div>
-kyuubi\.engine<br>\.deregister\.exception<br>\.ttl|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT30M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Time to live(TTL) for 
exceptions pattern specified in kyuubi.engine.deregister.exception.classes and 
kyuubi.engine.deregister.exception.messages to deregister engines. Once the 
total error count hits the kyuubi.engine.deregister.job.max.failures within the 
TTL, an engine will deregister itself [...]
-kyuubi\.engine<br>\.deregister\.job\.max<br>\.failures|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>4</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Number of failures of job 
before deregistering the engine.</div>|<div style='width: 30pt'>int</div>|<div 
style='width: 20pt'>1.2.0</div>
-kyuubi\.engine\.event<br>\.json\.log\.path|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>file:///tmp/kyuubi/events</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>The location of 
all the engine events go for the builtin JSON logger.<ul><li>Local Path: start 
with 'file://'</li><li>HDFS Path: start with 'hdfs://'</li></ul></div>|<div 
style='width: 30pt'>string</div>|<div style='width: 20pt'>1.3.0</div>
-kyuubi\.engine\.event<br>\.loggers|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>SPARK</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>A comma separated list of engine history 
loggers, where engine/session/operation etc events go. We use spark logger by 
default.<ul> <li>SPARK: the events will be written to the spark listener 
bus.</li> <li>JSON: the events will be written to the location of 
kyuubi.engine.event.json.log.path</li> <li>JDBC: to  [...]
-kyuubi\.engine<br>\.initialize\.sql|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>SHOW DATABASES</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>SemiColon-separated list of 
SQL statements to be initialized in the newly created engine before queries. 
i.e. use `SHOW DATABASES` to eagerly active HiveClient. This configuration can 
not be used in JDBC url due to the limitation of Beeline/JDBC 
driver.</div>|<div style='width: 30pt'>seq</div>|<div  [...]
-kyuubi\.engine<br>\.operation\.log\.dir<br>\.root|<div style='width: 
65pt;word-wrap: break-word;white-space: 
normal'>engine_operation_logs</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Root directory for query operation log at 
engine-side.</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.4.0</div>
-kyuubi\.engine\.pool<br>\.name|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>engine-pool</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The name of engine 
pool.</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.5.0</div>
-kyuubi\.engine\.pool<br>\.size|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>-1</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>The size of engine pool. Note that, if the size 
is less than 1, the engine pool will not be enabled; otherwise, the size of the 
engine pool will be min(this, kyuubi.engine.pool.size.threshold).</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.4.0</div>
-kyuubi\.engine\.pool<br>\.size\.threshold|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>9</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>This parameter is introduced as a server-side 
parameter, and controls the upper limit of the engine pool.</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.4.0</div>
-kyuubi\.engine<br>\.security\.crypto<br>\.cipher|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>AES/CBC/PKCS5PADDING</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>The cipher 
transformation to use for encrypting engine access token.</div>|<div 
style='width: 30pt'>string</div>|<div style='width: 20pt'>1.5.0</div>
-kyuubi\.engine<br>\.security\.crypto<br>\.ivLength|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>16</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Initial vector length, in 
bytes.</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.5.0</div>
-kyuubi\.engine<br>\.security\.crypto<br>\.keyAlgorithm|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>AES</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The algorithm for generated 
secret keys.</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.5.0</div>
-kyuubi\.engine<br>\.security\.crypto<br>\.keyLength|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>128</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The length in bits of the 
encryption key to generate. Valid values are 128, 192 and 256</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.5.0</div>
-kyuubi\.engine<br>\.security\.enabled|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>false</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Whether to enable the internal secure access 
between Kyuubi server and engine.</div>|<div style='width: 
30pt'>boolean</div>|<div style='width: 20pt'>1.5.0</div>
-kyuubi\.engine<br>\.security\.secret<br>\.provider|<div style='width: 
65pt;word-wrap: break-word;white-space: 
normal'>org.apache.kyuubi.service.authentication.ZooKeeperEngineSecuritySecretProviderImpl</div>|<div
 style='width: 170pt;word-wrap: break-word;white-space: normal'>The class used 
to manage the engine security secret. This class must be a subclass of 
EngineSecuritySecretProvider.</div>|<div style='width: 30pt'>string</div>|<div 
style='width: 20pt'>1.5.0</div>
-kyuubi\.engine<br>\.security\.token\.max<br>\.lifetime|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT10M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The max lifetime of the token 
used for secure access between Kyuubi server and engine.</div>|<div 
style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.5.0</div>
-kyuubi\.engine\.session<br>\.initialize\.sql|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'></div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>SemiColon-separated list of 
SQL statements to be initialized in the newly created engine session before 
queries. This configuration can not be used in JDBC url due to the limitation 
of Beeline/JDBC driver.</div>|<div style='width: 30pt'>seq</div>|<div 
style='width: 20pt'>1.3.0</div>
-kyuubi\.engine\.share<br>\.level|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>USER</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Engines will be shared in different levels, 
available configs are: <ul> <li>CONNECTION: engine will not be shared but only 
used by the current client connection</li> <li>USER: engine will be shared by 
all sessions created by a unique username, see also 
kyuubi.engine.share.level.subdomain</li> <li>GROUP: engine w [...]
-kyuubi\.engine\.share<br>\.level\.sub\.domain|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>(deprecated) - 
Using kyuubi.engine.share.level.subdomain instead</div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.2.0</div>
-kyuubi\.engine\.share<br>\.level\.subdomain|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Allow end-users to create a 
subdomain for the share level of an engine. A subdomain is a case-insensitive 
string values that must be a valid zookeeper sub path. For example, for `USER` 
share level, an end-user can share a certain engine within a subdomain, not for 
all of its clients. End- [...]
-kyuubi\.engine\.single<br>\.spark\.session|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>false</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>When set to true, this engine is running in a 
single session mode. All the JDBC/ODBC connections share the temporary views, 
function registries, SQL configuration and the current database.</div>|<div 
style='width: 30pt'>boolean</div>|<div style='width: 20pt'>1.3.0</div>
-kyuubi\.engine\.type|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>SPARK_SQL</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Specify the detailed engine 
that supported by the Kyuubi. The engine type bindings to SESSION scope. This 
configuration is experimental. Currently, available configs are: <ul> 
<li>SPARK_SQL: specify this engine type will launch a Spark engine which can 
provide all the capacity of the Apache Spark. Note, it's a default  [...]
-kyuubi\.engine\.ui<br>\.retainedSessions|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>200</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>The number of SQL client sessions kept in the 
Kyuubi Query Engine web UI.</div>|<div style='width: 30pt'>int</div>|<div 
style='width: 20pt'>1.4.0</div>
-kyuubi\.engine\.ui<br>\.retainedStatements|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>200</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>The number of statements kept in the Kyuubi 
Query Engine web UI.</div>|<div style='width: 30pt'>int</div>|<div 
style='width: 20pt'>1.4.0</div>
-kyuubi\.engine\.ui\.stop<br>\.enabled|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>true</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>When true, allows Kyuubi engine to be killed 
from the Spark Web UI.</div>|<div style='width: 30pt'>boolean</div>|<div 
style='width: 20pt'>1.3.0</div>
+<code>kyuubi.engine.connection.url.use.hostname</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>false</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>(deprecated) When true, engine 
register with hostname to zookeeper. When spark run on k8s with cluster mode, 
set to false to ensure that server can connect to engine</div>|<div 
style='width: 30pt'>boolean</div>|<div style='width: 20pt'>1.3.0</div>
+<code>kyuubi.engine.deregister.exception.classes</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'></div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>A comma separated list of 
exception classes. If there is any exception thrown, whose class matches the 
specified classes, the engine would deregister itself.</div>|<div style='width: 
30pt'>seq</div>|<div style='width: 20pt'>1.2.0</div>
+<code>kyuubi.engine.deregister.exception.messages</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'></div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>A comma separated list of 
exception messages. If there is any exception thrown, whose message or 
stacktrace matches the specified message list, the engine would deregister 
itself.</div>|<div style='width: 30pt'>seq</div>|<div style='width: 
20pt'>1.2.0</div>
+<code>kyuubi.engine.deregister.exception.ttl</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT30M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Time to live(TTL) for 
exceptions pattern specified in kyuubi.engine.deregister.exception.classes and 
kyuubi.engine.deregister.exception.messages to deregister engines. Once the 
total error count hits the kyuubi.engine.deregister.job.max.failures within the 
TTL, an engine will deregister itsel [...]
+<code>kyuubi.engine.deregister.job.max.failures</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>4</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Number of failures of job 
before deregistering the engine.</div>|<div style='width: 30pt'>int</div>|<div 
style='width: 20pt'>1.2.0</div>
+<code>kyuubi.engine.event.json.log.path</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: 
normal'>file:///tmp/kyuubi/events</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>The location of all the engine events go for 
the builtin JSON logger.<ul><li>Local Path: start with 'file://'</li><li>HDFS 
Path: start with 'hdfs://'</li></ul></div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.3.0</div>
+<code>kyuubi.engine.event.loggers</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>SPARK</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>A comma separated list of engine history 
loggers, where engine/session/operation etc events go. We use spark logger by 
default.<ul> <li>SPARK: the events will be written to the spark listener 
bus.</li> <li>JSON: the events will be written to the location of 
kyuubi.engine.event.json.log.path</li> <li>JDB [...]
+<code>kyuubi.engine.initialize.sql</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>SHOW DATABASES</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>SemiColon-separated list of 
SQL statements to be initialized in the newly created engine before queries. 
i.e. use `SHOW DATABASES` to eagerly active HiveClient. This configuration can 
not be used in JDBC url due to the limitation of Beeline/JDBC 
driver.</div>|<div style='width: 30pt'>seq</div> [...]
+<code>kyuubi.engine.operation.log.dir.root</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: 
normal'>engine_operation_logs</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Root directory for query operation log at 
engine-side.</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.4.0</div>
+<code>kyuubi.engine.pool.name</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>engine-pool</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The name of engine 
pool.</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.5.0</div>
+<code>kyuubi.engine.pool.size</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>-1</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>The size of engine pool. Note that, if the size 
is less than 1, the engine pool will not be enabled; otherwise, the size of the 
engine pool will be min(this, kyuubi.engine.pool.size.threshold).</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.engine.pool.size.threshold</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>9</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>This parameter is introduced 
as a server-side parameter, and controls the upper limit of the engine 
pool.</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.4.0</div>
+<code>kyuubi.engine.security.crypto.cipher</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>AES/CBC/PKCS5PADDING</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>The cipher 
transformation to use for encrypting engine access token.</div>|<div 
style='width: 30pt'>string</div>|<div style='width: 20pt'>1.5.0</div>
+<code>kyuubi.engine.security.crypto.ivLength</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>16</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Initial vector length, in 
bytes.</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.5.0</div>
+<code>kyuubi.engine.security.crypto.keyAlgorithm</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>AES</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The algorithm for generated 
secret keys.</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.5.0</div>
+<code>kyuubi.engine.security.crypto.keyLength</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>128</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The length in bits of the 
encryption key to generate. Valid values are 128, 192 and 256</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.5.0</div>
+<code>kyuubi.engine.security.enabled</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>false</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Whether to enable the internal secure access 
between Kyuubi server and engine.</div>|<div style='width: 
30pt'>boolean</div>|<div style='width: 20pt'>1.5.0</div>
+<code>kyuubi.engine.security.secret.provider</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: 
normal'>org.apache.kyuubi.service.authentication.ZooKeeperEngineSecuritySecretProviderImpl</div>|<div
 style='width: 170pt;word-wrap: break-word;white-space: normal'>The class used 
to manage the engine security secret. This class must be a subclass of 
EngineSecuritySecretProvider.</div>|<div style='width: 30pt'>string</div>|<div 
style='width: 20pt'>1.5.0</div>
+<code>kyuubi.engine.security.token.max.lifetime</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT10M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The max lifetime of the token 
used for secure access between Kyuubi server and engine.</div>|<div 
style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.5.0</div>
+<code>kyuubi.engine.session.initialize.sql</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'></div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>SemiColon-separated list of 
SQL statements to be initialized in the newly created engine session before 
queries. This configuration can not be used in JDBC url due to the limitation 
of Beeline/JDBC driver.</div>|<div style='width: 30pt'>seq</div>|<div 
style='width: 20pt'>1.3.0</div>
+<code>kyuubi.engine.share.level</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>USER</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Engines will be shared in different levels, 
available configs are: <ul> <li>CONNECTION: engine will not be shared but only 
used by the current client connection</li> <li>USER: engine will be shared by 
all sessions created by a unique username, see also 
kyuubi.engine.share.level.subdomain</li> <li>GROUP: en [...]
+<code>kyuubi.engine.share.level.sub.domain</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>(deprecated) - 
Using kyuubi.engine.share.level.subdomain instead</div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.2.0</div>
+<code>kyuubi.engine.share.level.subdomain</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>Allow end-users 
to create a subdomain for the share level of an engine. A subdomain is a 
case-insensitive string values that must be a valid zookeeper sub path. For 
example, for `USER` share level, an end-user can share a certain engine within 
a subdomain, not for all of its clients. [...]
+<code>kyuubi.engine.single.spark.session</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>false</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>When set to true, this engine 
is running in a single session mode. All the JDBC/ODBC connections share the 
temporary views, function registries, SQL configuration and the current 
database.</div>|<div style='width: 30pt'>boolean</div>|<div style='width: 
20pt'>1.3.0</div>
+<code>kyuubi.engine.type</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>SPARK_SQL</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Specify the detailed engine 
that supported by the Kyuubi. The engine type bindings to SESSION scope. This 
configuration is experimental. Currently, available configs are: <ul> 
<li>SPARK_SQL: specify this engine type will launch a Spark engine which can 
provide all the capacity of the Apache Spark. Note, it's [...]
+<code>kyuubi.engine.ui.retainedSessions</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>200</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The number of SQL client 
sessions kept in the Kyuubi Query Engine web UI.</div>|<div style='width: 
30pt'>int</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.engine.ui.retainedStatements</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>200</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The number of statements kept 
in the Kyuubi Query Engine web UI.</div>|<div style='width: 
30pt'>int</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.engine.ui.stop.enabled</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>true</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>When true, allows Kyuubi engine to be killed 
from the Spark Web UI.</div>|<div style='width: 30pt'>boolean</div>|<div 
style='width: 20pt'>1.3.0</div>
 
 
 ### Frontend
 
 Key | Default | Meaning | Type | Since
 --- | --- | --- | --- | ---
-kyuubi\.frontend<br>\.backoff\.slot\.length|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT0.1S</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>(deprecated) Time to back off 
during login to the thrift frontend service.</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
-kyuubi\.frontend\.bind<br>\.host|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>(deprecated) Hostname or IP of 
the machine on which to run the thrift frontend service via binary 
protocol.</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.0.0</div>
-kyuubi\.frontend\.bind<br>\.port|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>10009</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>(deprecated) Port of the machine on which to 
run the thrift frontend service via binary protocol.</div>|<div style='width: 
30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
-kyuubi\.frontend<br>\.connection\.url\.use<br>\.hostname|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>false</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>When true, frontend services 
prefer hostname, otherwise, ip address</div>|<div style='width: 
30pt'>boolean</div>|<div style='width: 20pt'>1.5.0</div>
-kyuubi\.frontend\.login<br>\.timeout|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT20S</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>(deprecated) Timeout for Thrift clients during 
login to the thrift frontend service.</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
-kyuubi\.frontend\.max<br>\.message\.size|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>104857600</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>(deprecated) Maximum message 
size in bytes a Kyuubi server will accept.</div>|<div style='width: 
30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
-kyuubi\.frontend\.max<br>\.worker\.threads|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>999</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>(deprecated) Maximum number of threads in the 
of frontend worker thread pool for the thrift frontend service</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
-kyuubi\.frontend\.min<br>\.worker\.threads|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>9</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>(deprecated) Minimum number of threads in the 
of frontend worker thread pool for the thrift frontend service</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
-kyuubi\.frontend\.mysql<br>\.bind\.host|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Hostname or IP of the machine 
on which to run the MySQL frontend service.</div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.4.0</div>
-kyuubi\.frontend\.mysql<br>\.bind\.port|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>3309</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Port of the machine on which to run the MySQL 
frontend service.</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.4.0</div>
-kyuubi\.frontend\.mysql<br>\.max\.worker\.threads|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>999</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Maximum number of threads in 
the command execution thread pool for the MySQL frontend service</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.4.0</div>
-kyuubi\.frontend\.mysql<br>\.min\.worker\.threads|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>9</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Minimum number of threads in 
the command execution thread pool for the MySQL frontend service</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.4.0</div>
-kyuubi\.frontend\.mysql<br>\.netty\.worker\.threads|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>Number of thread 
in the netty worker event loop of MySQL frontend service. Use min(cpu_cores, 8) 
in default.</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.4.0</div>
-kyuubi\.frontend\.mysql<br>\.worker\.keepalive\.time|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT1M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Time(ms) that an idle async 
thread of the command execution thread pool will wait for a new task to arrive 
before terminating in MySQL frontend service</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.4.0</div>
-kyuubi\.frontend<br>\.protocols|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>THRIFT_BINARY</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>A comma separated list for all 
frontend protocols <ul> <li>THRIFT_BINARY - HiveServer2 compatible thrift 
binary protocol.</li> <li>REST - Kyuubi defined REST API(experimental).</li>  
<li>MYSQL - MySQL compatible text protocol(experimental).</li> </ul></div>|<div 
style='width: 30pt'>seq</div>|<div style=' [...]
-kyuubi\.frontend\.rest<br>\.bind\.host|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Hostname or IP of the machine 
on which to run the REST frontend service.</div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.4.0</div>
-kyuubi\.frontend\.rest<br>\.bind\.port|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>10099</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Port of the machine on which to run the REST 
frontend service.</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.4.0</div>
-kyuubi\.frontend<br>\.thrift\.backoff\.slot<br>\.length|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT0.1S</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Time to back off during login 
to the thrift frontend service.</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.4.0</div>
-kyuubi\.frontend<br>\.thrift\.binary\.bind<br>\.host|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>Hostname or IP 
of the machine on which to run the thrift frontend service via binary 
protocol.</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.4.0</div>
-kyuubi\.frontend<br>\.thrift\.binary\.bind<br>\.port|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>10009</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Port of the machine on which 
to run the thrift frontend service via binary protocol.</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.4.0</div>
-kyuubi\.frontend<br>\.thrift\.login\.timeout|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT20S</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Timeout for Thrift clients 
during login to the thrift frontend service.</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.4.0</div>
-kyuubi\.frontend<br>\.thrift\.max\.message<br>\.size|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>104857600</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>Maximum message 
size in bytes a Kyuubi server will accept.</div>|<div style='width: 
30pt'>int</div>|<div style='width: 20pt'>1.4.0</div>
-kyuubi\.frontend<br>\.thrift\.max\.worker<br>\.threads|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>999</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Maximum number of threads in 
the of frontend worker thread pool for the thrift frontend service</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.4.0</div>
-kyuubi\.frontend<br>\.thrift\.min\.worker<br>\.threads|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>9</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Minimum number of threads in 
the of frontend worker thread pool for the thrift frontend service</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.4.0</div>
-kyuubi\.frontend<br>\.thrift\.worker<br>\.keepalive\.time|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT1M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Keep-alive time (in 
milliseconds) for an idle worker thread</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.4.0</div>
-kyuubi\.frontend<br>\.worker\.keepalive\.time|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT1M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>(deprecated) Keep-alive time 
(in milliseconds) for an idle worker thread</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.frontend.backoff.slot.length</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT0.1S</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>(deprecated) Time to back off 
during login to the thrift frontend service.</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.frontend.bind.host</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>(deprecated) Hostname or IP of 
the machine on which to run the thrift frontend service via binary 
protocol.</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.0.0</div>
+<code>kyuubi.frontend.bind.port</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>10009</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>(deprecated) Port of the machine on which to 
run the thrift frontend service via binary protocol.</div>|<div style='width: 
30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.frontend.connection.url.use.hostname</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>false</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>When true, frontend services 
prefer hostname, otherwise, ip address</div>|<div style='width: 
30pt'>boolean</div>|<div style='width: 20pt'>1.5.0</div>
+<code>kyuubi.frontend.login.timeout</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT20S</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>(deprecated) Timeout for Thrift clients during 
login to the thrift frontend service.</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.frontend.max.message.size</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>104857600</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>(deprecated) 
Maximum message size in bytes a Kyuubi server will accept.</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.frontend.max.worker.threads</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>999</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>(deprecated) Maximum number of 
threads in the of frontend worker thread pool for the thrift frontend 
service</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.0.0</div>
+<code>kyuubi.frontend.min.worker.threads</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>9</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>(deprecated) Minimum number of 
threads in the of frontend worker thread pool for the thrift frontend 
service</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.0.0</div>
+<code>kyuubi.frontend.mysql.bind.host</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>Hostname or IP 
of the machine on which to run the MySQL frontend service.</div>|<div 
style='width: 30pt'>string</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.frontend.mysql.bind.port</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>3309</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Port of the machine on which 
to run the MySQL frontend service.</div>|<div style='width: 
30pt'>int</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.frontend.mysql.max.worker.threads</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>999</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Maximum number of threads in 
the command execution thread pool for the MySQL frontend service</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.frontend.mysql.min.worker.threads</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>9</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Minimum number of threads in 
the command execution thread pool for the MySQL frontend service</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.frontend.mysql.netty.worker.threads</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>Number of thread 
in the netty worker event loop of MySQL frontend service. Use min(cpu_cores, 8) 
in default.</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.4.0</div>
+<code>kyuubi.frontend.mysql.worker.keepalive.time</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT1M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Time(ms) that an idle async 
thread of the command execution thread pool will wait for a new task to arrive 
before terminating in MySQL frontend service</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.frontend.protocols</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>THRIFT_BINARY</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>A comma separated list for all 
frontend protocols <ul> <li>THRIFT_BINARY - HiveServer2 compatible thrift 
binary protocol.</li> <li>REST - Kyuubi defined REST API(experimental).</li>  
<li>MYSQL - MySQL compatible text protocol(experimental).</li> </ul></div>|<div 
style='width: 30pt'>seq</div>|<div  [...]
+<code>kyuubi.frontend.rest.bind.host</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Hostname or IP of the machine 
on which to run the REST frontend service.</div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.frontend.rest.bind.port</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>10099</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Port of the machine on which to run the REST 
frontend service.</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.4.0</div>
+<code>kyuubi.frontend.thrift.backoff.slot.length</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT0.1S</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Time to back off during login 
to the thrift frontend service.</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.frontend.thrift.binary.bind.host</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>Hostname or IP 
of the machine on which to run the thrift frontend service via binary 
protocol.</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.4.0</div>
+<code>kyuubi.frontend.thrift.binary.bind.port</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>10009</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Port of the machine on which 
to run the thrift frontend service via binary protocol.</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.frontend.thrift.login.timeout</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT20S</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Timeout for Thrift clients 
during login to the thrift frontend service.</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.frontend.thrift.max.message.size</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>104857600</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>Maximum message 
size in bytes a Kyuubi server will accept.</div>|<div style='width: 
30pt'>int</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.frontend.thrift.max.worker.threads</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>999</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Maximum number of threads in 
the of frontend worker thread pool for the thrift frontend service</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.frontend.thrift.min.worker.threads</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>9</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Minimum number of threads in 
the of frontend worker thread pool for the thrift frontend service</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.frontend.thrift.worker.keepalive.time</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT1M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Keep-alive time (in 
milliseconds) for an idle worker thread</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.frontend.worker.keepalive.time</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT1M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>(deprecated) Keep-alive time 
(in milliseconds) for an idle worker thread</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
 
 
 ### Ha
 
 Key | Default | Meaning | Type | Since
 --- | --- | --- | --- | ---
-kyuubi\.ha\.zookeeper<br>\.acl\.enabled|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>false</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Set to true if the zookeeper ensemble is 
kerberized</div>|<div style='width: 30pt'>boolean</div>|<div style='width: 
20pt'>1.0.0</div>
-kyuubi\.ha\.zookeeper<br>\.auth\.digest|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The digest auth string is used 
for zookeeper authentication, like: username:password.</div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.3.2</div>
-kyuubi\.ha\.zookeeper<br>\.auth\.keytab|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Location of Kyuubi server's 
keytab is used for zookeeper authentication.</div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.3.2</div>
-kyuubi\.ha\.zookeeper<br>\.auth\.principal|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Name of the Kerberos principal 
is used for zookeeper authentication.</div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.3.2</div>
-kyuubi\.ha\.zookeeper<br>\.auth\.type|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>NONE</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>The type of zookeeper authentication, all 
candidates are <ul><li>NONE</li><li> KERBEROS</li><li> 
DIGEST</li></ul></div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.3.2</div>
-kyuubi\.ha\.zookeeper<br>\.connection\.base\.retry<br>\.wait|<div 
style='width: 65pt;word-wrap: break-word;white-space: normal'>1000</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>Initial amount 
of time to wait between retries to the zookeeper ensemble</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
-kyuubi\.ha\.zookeeper<br>\.connection\.max<br>\.retries|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>3</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Max retry times for connecting 
to the zookeeper ensemble</div>|<div style='width: 30pt'>int</div>|<div 
style='width: 20pt'>1.0.0</div>
-kyuubi\.ha\.zookeeper<br>\.connection\.max\.retry<br>\.wait|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>30000</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Max amount of time to wait 
between retries for BOUNDED_EXPONENTIAL_BACKOFF policy can reach, or max time 
until elapsed for UNTIL_ELAPSED policy to connect the zookeeper 
ensemble</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.0.0</div>
-kyuubi\.ha\.zookeeper<br>\.connection\.retry<br>\.policy|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>EXPONENTIAL_BACKOFF</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>The retry policy 
for connecting to the zookeeper ensemble, all candidates are: 
<ul><li>ONE_TIME</li><li> N_TIME</li><li> EXPONENTIAL_BACKOFF</li><li> 
BOUNDED_EXPONENTIAL_BACKOFF</li><li> UNTIL_ELAPSED</li></ul></div>|<div 
style='width: 30pt'>string</div>|<div style='width:  [...]
-kyuubi\.ha\.zookeeper<br>\.connection\.timeout|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>15000</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The timeout(ms) of creating 
the connection to the zookeeper ensemble</div>|<div style='width: 
30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
-kyuubi\.ha\.zookeeper<br>\.engine\.auth\.type|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>NONE</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The type of zookeeper 
authentication for engine, all candidates are <ul><li>NONE</li><li> 
KERBEROS</li><li> DIGEST</li></ul></div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.3.2</div>
-kyuubi\.ha\.zookeeper<br>\.engine\.secure\.secret<br>\.node|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>The zk node 
contains the secret that used for internal secure between Kyuubi server and 
Kyuubi engine, please make sure that it is only visible for Kyuubi.</div>|<div 
style='width: 30pt'>string</div>|<div style='width: 20pt'>1.5.0</div>
-kyuubi\.ha\.zookeeper<br>\.namespace|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>kyuubi</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The root directory for the 
service to deploy its instance uri</div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.0.0</div>
-kyuubi\.ha\.zookeeper<br>\.node\.creation\.timeout|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT2M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Timeout for creating zookeeper 
node</div>|<div style='width: 30pt'>duration</div>|<div style='width: 
20pt'>1.2.0</div>
-kyuubi\.ha\.zookeeper<br>\.publish\.configs|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>false</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>When set to true, publish Kerberos configs to 
Zookeeper.Note that the Hive driver needs to be greater than 1.3 or 2.0 or 
apply HIVE-11581 patch.</div>|<div style='width: 30pt'>boolean</div>|<div 
style='width: 20pt'>1.4.0</div>
-kyuubi\.ha\.zookeeper<br>\.quorum|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'></div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>The connection string for the zookeeper 
ensemble</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.0.0</div>
-kyuubi\.ha\.zookeeper<br>\.session\.timeout|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>60000</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>The timeout(ms) of a connected session to be 
idled</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.0.0</div>
+<code>kyuubi.ha.zookeeper.acl.enabled</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>false</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Set to true if the zookeeper 
ensemble is kerberized</div>|<div style='width: 30pt'>boolean</div>|<div 
style='width: 20pt'>1.0.0</div>
+<code>kyuubi.ha.zookeeper.auth.digest</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>The digest auth 
string is used for zookeeper authentication, like: 
username:password.</div>|<div style='width: 30pt'>string</div>|<div 
style='width: 20pt'>1.3.2</div>
+<code>kyuubi.ha.zookeeper.auth.keytab</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>Location of 
Kyuubi server's keytab is used for zookeeper authentication.</div>|<div 
style='width: 30pt'>string</div>|<div style='width: 20pt'>1.3.2</div>
+<code>kyuubi.ha.zookeeper.auth.principal</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>Name of the 
Kerberos principal is used for zookeeper authentication.</div>|<div 
style='width: 30pt'>string</div>|<div style='width: 20pt'>1.3.2</div>
+<code>kyuubi.ha.zookeeper.auth.type</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>NONE</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>The type of zookeeper authentication, all 
candidates are <ul><li>NONE</li><li> KERBEROS</li><li> 
DIGEST</li></ul></div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.3.2</div>
+<code>kyuubi.ha.zookeeper.connection.base.retry.wait</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>1000</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Initial amount of time to wait 
between retries to the zookeeper ensemble</div>|<div style='width: 
30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.ha.zookeeper.connection.max.retries</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>3</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Max retry times for connecting 
to the zookeeper ensemble</div>|<div style='width: 30pt'>int</div>|<div 
style='width: 20pt'>1.0.0</div>
+<code>kyuubi.ha.zookeeper.connection.max.retry.wait</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>30000</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Max amount of time to wait 
between retries for BOUNDED_EXPONENTIAL_BACKOFF policy can reach, or max time 
until elapsed for UNTIL_ELAPSED policy to connect the zookeeper 
ensemble</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.0.0</div>
+<code>kyuubi.ha.zookeeper.connection.retry.policy</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>EXPONENTIAL_BACKOFF</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>The retry policy 
for connecting to the zookeeper ensemble, all candidates are: 
<ul><li>ONE_TIME</li><li> N_TIME</li><li> EXPONENTIAL_BACKOFF</li><li> 
BOUNDED_EXPONENTIAL_BACKOFF</li><li> UNTIL_ELAPSED</li></ul></div>|<div 
style='width: 30pt'>string</div>|<div style='width:  [...]
+<code>kyuubi.ha.zookeeper.connection.timeout</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>15000</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The timeout(ms) of creating 
the connection to the zookeeper ensemble</div>|<div style='width: 
30pt'>int</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.ha.zookeeper.engine.auth.type</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>NONE</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The type of zookeeper 
authentication for engine, all candidates are <ul><li>NONE</li><li> 
KERBEROS</li><li> DIGEST</li></ul></div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.3.2</div>
+<code>kyuubi.ha.zookeeper.engine.secure.secret.node</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>The zk node 
contains the secret that used for internal secure between Kyuubi server and 
Kyuubi engine, please make sure that it is only visible for Kyuubi.</div>|<div 
style='width: 30pt'>string</div>|<div style='width: 20pt'>1.5.0</div>
+<code>kyuubi.ha.zookeeper.namespace</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>kyuubi</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The root directory for the 
service to deploy its instance uri</div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.ha.zookeeper.node.creation.timeout</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT2M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Timeout for creating zookeeper 
node</div>|<div style='width: 30pt'>duration</div>|<div style='width: 
20pt'>1.2.0</div>
+<code>kyuubi.ha.zookeeper.publish.configs</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>false</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>When set to true, publish 
Kerberos configs to Zookeeper.Note that the Hive driver needs to be greater 
than 1.3 or 2.0 or apply HIVE-11581 patch.</div>|<div style='width: 
30pt'>boolean</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.ha.zookeeper.quorum</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'></div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>The connection string for the zookeeper 
ensemble</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.0.0</div>
+<code>kyuubi.ha.zookeeper.session.timeout</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>60000</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The timeout(ms) of a connected 
session to be idled</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.0.0</div>
 
 
 ### Kinit
 
 Key | Default | Meaning | Type | Since
 --- | --- | --- | --- | ---
-kyuubi\.kinit\.interval|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT1H</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>How often will Kyuubi server run `kinit -kt 
[keytab] [principal]` to renew the local Kerberos credentials cache</div>|<div 
style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
-kyuubi\.kinit\.keytab|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Location of Kyuubi server's 
keytab.</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.0.0</div>
-kyuubi\.kinit\.max<br>\.attempts|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>10</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>How many times will `kinit` process 
retry</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.0.0</div>
-kyuubi\.kinit<br>\.principal|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Name of the Kerberos 
principal.</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.0.0</div>
+<code>kyuubi.kinit.interval</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT1H</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>How often will Kyuubi server run `kinit -kt 
[keytab] [principal]` to renew the local Kerberos credentials cache</div>|<div 
style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.kinit.keytab</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Location of Kyuubi server's 
keytab.</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.0.0</div>
+<code>kyuubi.kinit.max.attempts</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>10</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>How many times will `kinit` process 
retry</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.0.0</div>
+<code>kyuubi.kinit.principal</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Name of the Kerberos 
principal.</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.0.0</div>
 
 
 ### Metrics
 
 Key | Default | Meaning | Type | Since
 --- | --- | --- | --- | ---
-kyuubi\.metrics<br>\.console\.interval|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT5S</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>How often should report metrics to 
console</div>|<div style='width: 30pt'>duration</div>|<div style='width: 
20pt'>1.2.0</div>
-kyuubi\.metrics<br>\.enabled|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>true</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Set to true to enable kyuubi metrics 
system</div>|<div style='width: 30pt'>boolean</div>|<div style='width: 
20pt'>1.2.0</div>
-kyuubi\.metrics\.json<br>\.interval|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT5S</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>How often should report metrics to json 
file</div>|<div style='width: 30pt'>duration</div>|<div style='width: 
20pt'>1.2.0</div>
-kyuubi\.metrics\.json<br>\.location|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>metrics</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Where the json metrics file 
located</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.2.0</div>
-kyuubi\.metrics<br>\.prometheus\.path|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>/metrics</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>URI context path of prometheus 
metrics HTTP server</div>|<div style='width: 30pt'>string</div>|<div 
style='width: 20pt'>1.2.0</div>
-kyuubi\.metrics<br>\.prometheus\.port|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>10019</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Prometheus metrics HTTP server port</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.2.0</div>
-kyuubi\.metrics<br>\.reporters|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>JSON</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>A comma separated list for all metrics 
reporters<ul> <li>CONSOLE - ConsoleReporter which outputs measurements to 
CONSOLE periodically.</li> <li>JMX - JmxReporter which listens for new metrics 
and exposes them as MBeans.</li>  <li>JSON - JsonReporter which outputs 
measurements to json file periodically.</li> <li>PR [...]
-kyuubi\.metrics\.slf4j<br>\.interval|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT5S</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>How often should report metrics to SLF4J 
logger</div>|<div style='width: 30pt'>duration</div>|<div style='width: 
20pt'>1.2.0</div>
+<code>kyuubi.metrics.console.interval</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT5S</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>How often should report 
metrics to console</div>|<div style='width: 30pt'>duration</div>|<div 
style='width: 20pt'>1.2.0</div>
+<code>kyuubi.metrics.enabled</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>true</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Set to true to enable kyuubi metrics 
system</div>|<div style='width: 30pt'>boolean</div>|<div style='width: 
20pt'>1.2.0</div>
+<code>kyuubi.metrics.json.interval</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT5S</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>How often should report metrics to json 
file</div>|<div style='width: 30pt'>duration</div>|<div style='width: 
20pt'>1.2.0</div>
+<code>kyuubi.metrics.json.location</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>metrics</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Where the json metrics file 
located</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.2.0</div>
+<code>kyuubi.metrics.prometheus.path</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>/metrics</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>URI context path of prometheus 
metrics HTTP server</div>|<div style='width: 30pt'>string</div>|<div 
style='width: 20pt'>1.2.0</div>
+<code>kyuubi.metrics.prometheus.port</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>10019</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Prometheus metrics HTTP server port</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.2.0</div>
+<code>kyuubi.metrics.reporters</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>JSON</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>A comma separated list for all metrics 
reporters<ul> <li>CONSOLE - ConsoleReporter which outputs measurements to 
CONSOLE periodically.</li> <li>JMX - JmxReporter which listens for new metrics 
and exposes them as MBeans.</li>  <li>JSON - JsonReporter which outputs 
measurements to json file periodically.</li> [...]
+<code>kyuubi.metrics.slf4j.interval</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT5S</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>How often should report metrics to SLF4J 
logger</div>|<div style='width: 30pt'>duration</div>|<div style='width: 
20pt'>1.2.0</div>
 
 
 ### Operation
 
 Key | Default | Meaning | Type | Since
 --- | --- | --- | --- | ---
-kyuubi\.operation\.idle<br>\.timeout|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT3H</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Operation will be closed when it's not accessed 
for this duration of time</div>|<div style='width: 30pt'>duration</div>|<div 
style='width: 20pt'>1.0.0</div>
-kyuubi\.operation<br>\.interrupt\.on\.cancel|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>true</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>When true, all running tasks 
will be interrupted if one cancels a query. When false, all running tasks will 
remain until finished.</div>|<div style='width: 30pt'>boolean</div>|<div 
style='width: 20pt'>1.2.0</div>
-kyuubi\.operation<br>\.language|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>SQL</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Choose a programing language for the following 
inputs <ul><li>SQL: (Default) Run all following statements as SQL queries.</li> 
<li>SCALA: Run all following input a scala codes</li></ul></div>|<div 
style='width: 30pt'>string</div>|<div style='width: 20pt'>1.5.0</div>
-kyuubi\.operation\.log<br>\.dir\.root|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>server_operation_logs</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Root directory for query 
operation log at server-side.</div>|<div style='width: 30pt'>string</div>|<div 
style='width: 20pt'>1.4.0</div>
-kyuubi\.operation\.plan<br>\.only\.mode|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>NONE</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Whether to perform the statement in a PARSE, 
ANALYZE, OPTIMIZE only way without executing the query. When it is NONE, the 
statement will be fully executed</div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.4.0</div>
-kyuubi\.operation<br>\.query\.timeout|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Timeout for query executions 
at server-side, take affect with client-side 
timeout(`java.sql.Statement.setQueryTimeout`) together, a running query will be 
cancelled automatically if timeout. It's off by default, which means only 
client-side take fully control whether the query should timeout or  [...]
-kyuubi\.operation<br>\.scheduler\.pool|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The scheduler pool of job. 
Note that, this config should be used after change Spark config 
spark.scheduler.mode=FAIR.</div>|<div style='width: 30pt'>string</div>|<div 
style='width: 20pt'>1.1.1</div>
-kyuubi\.operation<br>\.status\.polling\.max<br>\.attempts|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>5</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Max attempts for long polling 
asynchronous running sql query's status on raw transport failures, e.g. 
TTransportException</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.4.0</div>
-kyuubi\.operation<br>\.status\.polling<br>\.timeout|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT5S</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Timeout(ms) for long polling 
asynchronous running sql query's status</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.operation.idle.timeout</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT3H</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Operation will be closed when it's not accessed 
for this duration of time</div>|<div style='width: 30pt'>duration</div>|<div 
style='width: 20pt'>1.0.0</div>
+<code>kyuubi.operation.interrupt.on.cancel</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>true</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>When true, all running tasks 
will be interrupted if one cancels a query. When false, all running tasks will 
remain until finished.</div>|<div style='width: 30pt'>boolean</div>|<div 
style='width: 20pt'>1.2.0</div>
+<code>kyuubi.operation.language</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>SQL</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Choose a programing language for the following 
inputs <ul><li>SQL: (Default) Run all following statements as SQL queries.</li> 
<li>SCALA: Run all following input a scala codes</li></ul></div>|<div 
style='width: 30pt'>string</div>|<div style='width: 20pt'>1.5.0</div>
+<code>kyuubi.operation.log.dir.root</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>server_operation_logs</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Root directory for query 
operation log at server-side.</div>|<div style='width: 30pt'>string</div>|<div 
style='width: 20pt'>1.4.0</div>
+<code>kyuubi.operation.plan.only.mode</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>NONE</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Whether to perform the 
statement in a PARSE, ANALYZE, OPTIMIZE only way without executing the query. 
When it is NONE, the statement will be fully executed</div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.operation.query.timeout</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Timeout for query executions 
at server-side, take affect with client-side 
timeout(`java.sql.Statement.setQueryTimeout`) together, a running query will be 
cancelled automatically if timeout. It's off by default, which means only 
client-side take fully control whether the query should timeo [...]
+<code>kyuubi.operation.scheduler.pool</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>The scheduler 
pool of job. Note that, this config should be used after change Spark config 
spark.scheduler.mode=FAIR.</div>|<div style='width: 30pt'>string</div>|<div 
style='width: 20pt'>1.1.1</div>
+<code>kyuubi.operation.status.polling.max.attempts</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>5</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Max attempts for long polling 
asynchronous running sql query's status on raw transport failures, e.g. 
TTransportException</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.4.0</div>
+<code>kyuubi.operation.status.polling.timeout</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT5S</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Timeout(ms) for long polling 
asynchronous running sql query's status</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
 
 
 ### Server
 
 Key | Default | Meaning | Type | Since
 --- | --- | --- | --- | ---
-kyuubi\.server\.name|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The name of Kyuubi 
Server.</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.5.0</div>
+<code>kyuubi.server.name</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The name of Kyuubi 
Server.</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.5.0</div>
 
 
 ### Session
 
 Key | Default | Meaning | Type | Since
 --- | --- | --- | --- | ---
-kyuubi\.session\.check<br>\.interval|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT5M</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>The check interval for session 
timeout.</div>|<div style='width: 30pt'>duration</div>|<div style='width: 
20pt'>1.0.0</div>
-kyuubi\.session\.conf<br>\.ignore\.list|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'></div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>A comma separated list of ignored keys. If the 
client connection contains any of them, the key and the corresponding value 
will be removed silently during engine bootstrap and connection setup. Note 
that this rule is for server-side protection defined via administrators to 
prevent some essential configs from  [...]
-kyuubi\.session\.conf<br>\.restrict\.list|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'></div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>A comma separated list of restricted keys. If 
the client connection contains any of them, the connection will be rejected 
explicitly during engine bootstrap and connection setup. Note that this rule is 
for server-side protection defined via administrators to prevent some essential 
configs from tampering but [...]
-kyuubi\.session\.engine<br>\.check\.interval|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT1M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The check interval for engine 
timeout</div>|<div style='width: 30pt'>duration</div>|<div style='width: 
20pt'>1.0.0</div>
-kyuubi\.session\.engine<br>\.flink\.main\.resource|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>The package used 
to create Flink SQL engine remote job. If it is undefined, Kyuubi will use the 
default</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.4.0</div>
-kyuubi\.session\.engine<br>\.idle\.timeout|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT30M</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>engine timeout, the engine will self-terminate 
when it's not accessed for this duration. 0 or negative means not to 
self-terminate.</div>|<div style='width: 30pt'>duration</div>|<div 
style='width: 20pt'>1.0.0</div>
-kyuubi\.session\.engine<br>\.initialize\.timeout|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT3M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Timeout for starting the 
background engine, e.g. SparkSQLEngine.</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
-kyuubi\.session\.engine<br>\.launch\.async|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>true</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>When opening kyuubi session, whether to launch 
backend engine asynchronously. When true, the Kyuubi server will set up the 
connection with the client without delay as the backend engine will be created 
asynchronously.</div>|<div style='width: 30pt'>boolean</div>|<div style='width: 
20pt'>1.4.0</div>
-kyuubi\.session\.engine<br>\.log\.timeout|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT24H</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>If we use Spark as the engine then the session 
submit log is the console output of spark-submit. We will retain the session 
submit log until over the config value.</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.1.0</div>
-kyuubi\.session\.engine<br>\.login\.timeout|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT15S</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>The timeout of creating the connection to 
remote sql query engine</div>|<div style='width: 30pt'>duration</div>|<div 
style='width: 20pt'>1.0.0</div>
-kyuubi\.session\.engine<br>\.request\.timeout|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT1M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The timeout of awaiting 
response after sending request to remote sql query engine</div>|<div 
style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.4.0</div>
-kyuubi\.session\.engine<br>\.share\.level|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>USER</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>(deprecated) - Using kyuubi.engine.share.level 
instead</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.0.0</div>
-kyuubi\.session\.engine<br>\.spark\.main\.resource|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>The package used 
to create Spark SQL engine remote application. If it is undefined, Kyuubi will 
use the default</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.0.0</div>
-kyuubi\.session\.engine<br>\.startup\.error\.max<br>\.size|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>8192</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>During engine bootstrapping, 
if error occurs, using this config to limit the length error 
message(characters).</div>|<div style='width: 30pt'>int</div>|<div 
style='width: 20pt'>1.1.0</div>
-kyuubi\.session\.engine<br>\.startup\.maxLogLines|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>10</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The maximum number of engine 
log lines when errors occur during engine startup phase. Note that this max 
lines is for client-side to help track engine startup issue.</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.4.0</div>
-kyuubi\.session\.engine<br>\.trino\.connection<br>\.catalog|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>The default 
catalog that trino engine will connect to</div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.5.0</div>
-kyuubi\.session\.engine<br>\.trino\.connection\.url|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>The server url 
that trino engine will connect to</div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.5.0</div>
-kyuubi\.session\.engine<br>\.trino\.main\.resource|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>The package used 
to create Trino engine remote job. If it is undefined, Kyuubi will use the 
default</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.5.0</div>
-kyuubi\.session\.idle<br>\.timeout|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT6H</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>session idle timeout, it will be closed when 
it's not accessed for this duration</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.2.0</div>
-kyuubi\.session\.name|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>A human readable name of 
session and we use empty string by default. This name will be recorded in 
event. Note that, we only apply this value from session conf.</div>|<div 
style='width: 30pt'>string</div>|<div style='width: 20pt'>1.4.0</div>
-kyuubi\.session<br>\.timeout|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT6H</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>(deprecated)session timeout, it will be closed 
when it's not accessed for this duration</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.session.check.interval</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT5M</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>The check interval for session 
timeout.</div>|<div style='width: 30pt'>duration</div>|<div style='width: 
20pt'>1.0.0</div>
+<code>kyuubi.session.conf.ignore.list</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'></div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>A comma separated list of 
ignored keys. If the client connection contains any of them, the key and the 
corresponding value will be removed silently during engine bootstrap and 
connection setup. Note that this rule is for server-side protection defined via 
administrators to prevent some essential configs  [...]
+<code>kyuubi.session.conf.restrict.list</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'></div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>A comma separated list of 
restricted keys. If the client connection contains any of them, the connection 
will be rejected explicitly during engine bootstrap and connection setup. Note 
that this rule is for server-side protection defined via administrators to 
prevent some essential configs from tamperin [...]
+<code>kyuubi.session.engine.check.interval</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT1M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The check interval for engine 
timeout</div>|<div style='width: 30pt'>duration</div>|<div style='width: 
20pt'>1.0.0</div>
+<code>kyuubi.session.engine.flink.main.resource</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>The package used 
to create Flink SQL engine remote job. If it is undefined, Kyuubi will use the 
default</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.4.0</div>
+<code>kyuubi.session.engine.idle.timeout</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT30M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>engine timeout, the engine 
will self-terminate when it's not accessed for this duration. 0 or negative 
means not to self-terminate.</div>|<div style='width: 30pt'>duration</div>|<div 
style='width: 20pt'>1.0.0</div>
+<code>kyuubi.session.engine.initialize.timeout</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT3M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Timeout for starting the 
background engine, e.g. SparkSQLEngine.</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.session.engine.launch.async</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>true</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>When opening kyuubi session, 
whether to launch backend engine asynchronously. When true, the Kyuubi server 
will set up the connection with the client without delay as the backend engine 
will be created asynchronously.</div>|<div style='width: 
30pt'>boolean</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.session.engine.log.timeout</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT24H</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>If we use Spark as the engine 
then the session submit log is the console output of spark-submit. We will 
retain the session submit log until over the config value.</div>|<div 
style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.1.0</div>
+<code>kyuubi.session.engine.login.timeout</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT15S</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The timeout of creating the 
connection to remote sql query engine</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.session.engine.request.timeout</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT1M</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The timeout of awaiting 
response after sending request to remote sql query engine</div>|<div 
style='width: 30pt'>duration</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.session.engine.share.level</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>USER</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>(deprecated) - Using 
kyuubi.engine.share.level instead</div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.session.engine.spark.main.resource</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>The package used 
to create Spark SQL engine remote application. If it is undefined, Kyuubi will 
use the default</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.0.0</div>
+<code>kyuubi.session.engine.startup.error.max.size</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>8192</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>During engine bootstrapping, 
if error occurs, using this config to limit the length error 
message(characters).</div>|<div style='width: 30pt'>int</div>|<div 
style='width: 20pt'>1.1.0</div>
+<code>kyuubi.session.engine.startup.maxLogLines</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>10</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The maximum number of engine 
log lines when errors occur during engine startup phase. Note that this max 
lines is for client-side to help track engine startup issue.</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.session.engine.trino.connection.catalog</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>The default 
catalog that trino engine will connect to</div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.5.0</div>
+<code>kyuubi.session.engine.trino.connection.url</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>The server url 
that trino engine will connect to</div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.5.0</div>
+<code>kyuubi.session.engine.trino.main.resource</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>The package used 
to create Trino engine remote job. If it is undefined, Kyuubi will use the 
default</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.5.0</div>
+<code>kyuubi.session.idle.timeout</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT6H</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>session idle timeout, it will be closed when 
it's not accessed for this duration</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.2.0</div>
+<code>kyuubi.session.name</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>&lt;undefined&gt;</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>A human readable name of 
session and we use empty string by default. This name will be recorded in 
event. Note that, we only apply this value from session conf.</div>|<div 
style='width: 30pt'>string</div>|<div style='width: 20pt'>1.4.0</div>
+<code>kyuubi.session.timeout</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT6H</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>(deprecated)session timeout, it will be closed 
when it's not accessed for this duration</div>|<div style='width: 
30pt'>duration</div>|<div style='width: 20pt'>1.0.0</div>
 
 
 ### Zookeeper
 
 Key | Default | Meaning | Type | Since
 --- | --- | --- | --- | ---
-kyuubi\.zookeeper<br>\.embedded\.client\.port|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>2181</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>clientPort for the embedded 
zookeeper server to listen for client connections, a client here could be 
Kyuubi server, engine and JDBC client</div>|<div style='width: 
30pt'>int</div>|<div style='width: 20pt'>1.2.0</div>
-kyuubi\.zookeeper<br>\.embedded\.client\.port<br>\.address|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: 
normal'>clientPortAddress for the embedded zookeeper server to</div>|<div 
style='width: 30pt'>string</div>|<div style='width: 20pt'>1.2.0</div>
-kyuubi\.zookeeper<br>\.embedded\.data\.dir|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>embedded_zookeeper</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>dataDir for the embedded 
zookeeper server where stores the in-memory database snapshots and, unless 
specified otherwise, the transaction log of updates to the database.</div>|<div 
style='width: 30pt'>string</div>|<div style='width: 20pt'>1.2.0</div>
-kyuubi\.zookeeper<br>\.embedded\.data\.log\.dir|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>embedded_zookeeper</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>dataLogDir for 
the embedded zookeeper server where writes the transaction log .</div>|<div 
style='width: 30pt'>string</div>|<div style='width: 20pt'>1.2.0</div>
-kyuubi\.zookeeper<br>\.embedded\.directory|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>embedded_zookeeper</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>The temporary directory for 
the embedded zookeeper server</div>|<div style='width: 30pt'>string</div>|<div 
style='width: 20pt'>1.0.0</div>
-kyuubi\.zookeeper<br>\.embedded\.max\.client<br>\.connections|<div 
style='width: 65pt;word-wrap: break-word;white-space: normal'>120</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>maxClientCnxns 
for the embedded zookeeper server to limits the number of concurrent 
connections of a single client identified by IP address</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.2.0</div>
-kyuubi\.zookeeper<br>\.embedded\.max\.session<br>\.timeout|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>60000</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>maxSessionTimeout in 
milliseconds for the embedded zookeeper server will allow the client to 
negotiate. Defaults to 20 times the tickTime</div>|<div style='width: 
30pt'>int</div>|<div style='width: 20pt'>1.2.0</div>
-kyuubi\.zookeeper<br>\.embedded\.min\.session<br>\.timeout|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>6000</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>minSessionTimeout in 
milliseconds for the embedded zookeeper server will allow the client to 
negotiate. Defaults to 2 times the tickTime</div>|<div style='width: 
30pt'>int</div>|<div style='width: 20pt'>1.2.0</div>
-kyuubi\.zookeeper<br>\.embedded\.port|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>2181</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>The port of the embedded zookeeper 
server</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.0.0</div>
-kyuubi\.zookeeper<br>\.embedded\.tick\.time|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>3000</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>tickTime in milliseconds for the embedded 
zookeeper server</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.2.0</div>
+<code>kyuubi.zookeeper.embedded.client.port</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>2181</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>clientPort for the embedded 
zookeeper server to listen for client connections, a client here could be 
Kyuubi server, engine and JDBC client</div>|<div style='width: 
30pt'>int</div>|<div style='width: 20pt'>1.2.0</div>
+<code>kyuubi.zookeeper.embedded.client.port.address</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>&lt;undefined&gt;</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: 
normal'>clientPortAddress for the embedded zookeeper server to</div>|<div 
style='width: 30pt'>string</div>|<div style='width: 20pt'>1.2.0</div>
+<code>kyuubi.zookeeper.embedded.data.dir</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>embedded_zookeeper</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>dataDir for the 
embedded zookeeper server where stores the in-memory database snapshots and, 
unless specified otherwise, the transaction log of updates to the 
database.</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.2.0</div>
+<code>kyuubi.zookeeper.embedded.data.log.dir</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>embedded_zookeeper</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>dataLogDir for 
the embedded zookeeper server where writes the transaction log .</div>|<div 
style='width: 30pt'>string</div>|<div style='width: 20pt'>1.2.0</div>
+<code>kyuubi.zookeeper.embedded.directory</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>embedded_zookeeper</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>The temporary 
directory for the embedded zookeeper server</div>|<div style='width: 
30pt'>string</div>|<div style='width: 20pt'>1.0.0</div>
+<code>kyuubi.zookeeper.embedded.max.client.connections</code>|<div 
style='width: 65pt;word-wrap: break-word;white-space: normal'>120</div>|<div 
style='width: 170pt;word-wrap: break-word;white-space: normal'>maxClientCnxns 
for the embedded zookeeper server to limits the number of concurrent 
connections of a single client identified by IP address</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.2.0</div>
+<code>kyuubi.zookeeper.embedded.max.session.timeout</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>60000</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>maxSessionTimeout in 
milliseconds for the embedded zookeeper server will allow the client to 
negotiate. Defaults to 20 times the tickTime</div>|<div style='width: 
30pt'>int</div>|<div style='width: 20pt'>1.2.0</div>
+<code>kyuubi.zookeeper.embedded.min.session.timeout</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>6000</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>minSessionTimeout in 
milliseconds for the embedded zookeeper server will allow the client to 
negotiate. Defaults to 2 times the tickTime</div>|<div style='width: 
30pt'>int</div>|<div style='width: 20pt'>1.2.0</div>
+<code>kyuubi.zookeeper.embedded.port</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>2181</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>The port of the embedded zookeeper 
server</div>|<div style='width: 30pt'>int</div>|<div style='width: 
20pt'>1.0.0</div>
+<code>kyuubi.zookeeper.embedded.tick.time</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>3000</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>tickTime in milliseconds for 
the embedded zookeeper server</div>|<div style='width: 30pt'>int</div>|<div 
style='width: 20pt'>1.2.0</div>
 
 ## Spark Configurations
 
diff --git a/docs/monitor/metrics.md b/docs/monitor/metrics.md
index d36f05a..9b2ee3f 100644
--- a/docs/monitor/metrics.md
+++ b/docs/monitor/metrics.md
@@ -27,14 +27,14 @@ The metrics system is configured via 
`$KYUUBI_HOME/conf/kyuubi-defaults.conf`.
 
 Key | Default | Meaning | Type | Since
 --- | --- | --- | --- | ---
-kyuubi\.metrics<br>\.enabled|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>true</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Set to true to enable kyuubi metrics 
system</div>|<div style='width: 30pt'>boolean</div>|<div style='width: 
20pt'>1.2.0</div>
-kyuubi\.metrics<br>\.reporters|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>JSON</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>A comma separated list for all metrics 
reporters<ul> <li>CONSOLE - ConsoleReporter which outputs measurements to 
CONSOLE periodically.</li> <li>JMX - JmxReporter which listens for new metrics 
and exposes them as MBeans.</li>  <li>JSON - JsonReporter which outputs 
measurements to json file periodically.</li> <li>PR [...]
-kyuubi\.metrics<br>\.console\.interval|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT5S</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>How often should report metrics to 
console</div>|<div style='width: 30pt'>duration</div>|<div style='width: 
20pt'>1.2.0</div>
-kyuubi\.metrics\.json<br>\.interval|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT5S</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>How often should report metrics to json 
file</div>|<div style='width: 30pt'>duration</div>|<div style='width: 
20pt'>1.2.0</div>
-kyuubi\.metrics\.json<br>\.location|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>metrics</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Where the json metrics file 
located</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.2.0</div>
-kyuubi\.metrics<br>\.prometheus\.path|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>/metrics</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>URI context path of prometheus 
metrics HTTP server</div>|<div style='width: 30pt'>string</div>|<div 
style='width: 20pt'>1.2.0</div>
-kyuubi\.metrics<br>\.prometheus\.port|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>10019</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Prometheus metrics HTTP server port</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.2.0</div>
-kyuubi\.metrics\.slf4j<br>\.interval|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT5S</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>How often should report metrics to SLF4J 
logger</div>|<div style='width: 30pt'>duration</div>|<div style='width: 
20pt'>1.2.0</div>
+<code>kyuubi.metrics.enabled</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>true</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Set to true to enable kyuubi metrics 
system</div>|<div style='width: 30pt'>boolean</div>|<div style='width: 
20pt'>1.2.0</div>
+<code>kyuubi.metrics.reporters</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>JSON</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>A comma separated list for all metrics 
reporters<ul> <li>CONSOLE - ConsoleReporter which outputs measurements to 
CONSOLE periodically.</li> <li>JMX - JmxReporter which listens for new metrics 
and exposes them as MBeans.</li>  <li>JSON - JsonReporter which outputs 
measurements to json file periodically.</li> [...]
+<code>kyuubi.metrics.console.interval</code>|<div style='width: 
65pt;word-wrap: break-word;white-space: normal'>PT5S</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>How often should report 
metrics to console</div>|<div style='width: 30pt'>duration</div>|<div 
style='width: 20pt'>1.2.0</div>
+<code>kyuubi.metrics.json.interval</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT5S</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>How often should report metrics to json 
file</div>|<div style='width: 30pt'>duration</div>|<div style='width: 
20pt'>1.2.0</div>
+<code>kyuubi.metrics.json.location</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>metrics</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>Where the json metrics file 
located</div>|<div style='width: 30pt'>string</div>|<div style='width: 
20pt'>1.2.0</div>
+<code>kyuubi.metrics.prometheus.path</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>/metrics</div>|<div style='width: 
170pt;word-wrap: break-word;white-space: normal'>URI context path of prometheus 
metrics HTTP server</div>|<div style='width: 30pt'>string</div>|<div 
style='width: 20pt'>1.2.0</div>
+<code>kyuubi.metrics.prometheus.port</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>10019</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>Prometheus metrics HTTP server port</div>|<div 
style='width: 30pt'>int</div>|<div style='width: 20pt'>1.2.0</div>
+<code>kyuubi.metrics.slf4j.interval</code>|<div style='width: 65pt;word-wrap: 
break-word;white-space: normal'>PT5S</div>|<div style='width: 170pt;word-wrap: 
break-word;white-space: normal'>How often should report metrics to SLF4J 
logger</div>|<div style='width: 30pt'>duration</div>|<div style='width: 
20pt'>1.2.0</div>
 
 ## Metrics
 
@@ -42,38 +42,38 @@ These metrics include:
 
 Metrics Prefix | Metrics Suffix | Type | Since | Description
 ---|---|---|---|---
-kyuubi<br/>.exec.pool<br/>.threads.alive  | | gauge | 1.2.0 |<div 
style='width: 150pt;word-wrap: break-word;white-space: normal'> threads 
keepAlive in the backend executive thread pool</div>
-kyuubi<br/>.exec.pool<br/>.threads.active | | gauge | 1.2.0 |<div 
style='width: 150pt;word-wrap: break-word;white-space: normal'> threads active 
in the backend executive thread pool</div>
-kyuubi<br/>.connection.total   | | counter | 1.2.0 |<div style='width: 
150pt;word-wrap: break-word;white-space: normal'>  cumulative connection 
count</div>
-kyuubi<br/>.connection.opened  | | gauge | 1.2.0 |<div style='width: 
150pt;word-wrap: break-word;white-space: normal'> current active connection 
count</div>
-kyuubi<br/>.connection.opened  | `${user}` | counter | 1.2.0 |<div 
style='width: 150pt;word-wrap: break-word;white-space: normal'> current active 
connections count requested by a `${user}`</div>
-kyuubi<br/>.connection.failed  | | counter | 1.2.0 |<div style='width: 
150pt;word-wrap: break-word;white-space: normal'>  cumulative failed connection 
count</div>
-kyuubi<br/>.connection.failed  | `${user}` | counter | 1.2.0 |<div 
style='width: 150pt;word-wrap: break-word;white-space: normal'> cumulative 
failed connections for a `${user}`</div>
-kyuubi<br/>.operation.total    | | counter | 1.5.0 |<div style='width: 
150pt;word-wrap: break-word;white-space: normal'>  cumulative opened operation 
count</div>
-kyuubi<br/>.operation.total    | `${operationType}` | counter | 1.5.0 |<div 
style='width: 150pt;word-wrap: break-word;white-space: normal'>  cumulative 
opened count for the operation `${operationType}`</div>
-kyuubi<br/>.operation.opened   | | gauge | 1.5.0 |<div style='width: 
150pt;word-wrap: break-word;white-space: normal'>  current opened operation 
count</div>
-kyuubi<br/>.operation.opened   | `${operationType}` | counter | 1.5.0 |<div 
style='width: 150pt;word-wrap: break-word;white-space: normal'>  current opened 
count for the operation `${operationType}`</div>
-kyuubi<br/>.operation.failed   | `${operationType}`<br/>`.${errorType}` | 
counter | 1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: 
normal'>  cumulative failed count for the operation `${operationType}` with a 
particular `${errorType}`, e.g. `execute_statement.AnalysisException`</div>
-kyuubi<br/>.engine.total       | | counter | 1.2.0 |<div style='width: 
150pt;word-wrap: break-word;white-space: normal'>  cumulative created 
engines</div>
-kyuubi<br/>.engine.timeout     | | counter | 1.2.0 |<div style='width: 
150pt;word-wrap: break-word;white-space: normal'>  cumulative timeout 
engines</div>
-kyuubi<br/>.engine.failed      | `${user}` | counter | 1.2.0 |<div 
style='width: 150pt;word-wrap: break-word;white-space: normal'>  cumulative 
explicitly failed engine count for a `${user}`</div>
-kyuubi<br/>.engine.failed      | `${errorType}` | counter | 1.2.0 |<div 
style='width: 150pt;word-wrap: break-word;white-space: normal'> cumulative 
explicitly failed engine count for a particular `${errorType}`, e.g. 
`ClassNotFoundException`</div>
-kyuubi<br/>.backend_service<br/>.open_session_ms            | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `openSession` method time cost histogram statistics 
</div>
-kyuubi<br/>.backend_service<br/>.close_session_ms           | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `closeSession` method time cost histogram statistics 
</div>
-kyuubi<br/>.backend_service<br/>.get_info_ms                | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `getInfo` method time cost histogram statistics </div>
-kyuubi<br/>.backend_service<br/>.execute_statement_ms       | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `executeStatement` method time cost histogram statistics 
</div>
-kyuubi<br/>.backend_service<br/>.get_type_info_ms           | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `getTypeInfo` method time cost histogram statistics 
</div>
-kyuubi<br/>.backend_service<br/>.get_catalogs_ms            | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `getCatalogs` method time cost histogram statistics 
</div>
-kyuubi<br/>.backend_service<br/>.get_schemas_ms             | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `getSchemas` method time cost histogram statistics </div>
-kyuubi<br/>.backend_service<br/>.get_tables_ms              | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `getTables` method time cost histogram statistics </div>
-kyuubi<br/>.backend_service<br/>.get_table_types_ms         | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `getTableTypes` method time cost histogram statistics 
</div>
-kyuubi<br/>.backend_service<br/>.get_columns_ms             | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `getColumns` method time cost histogram statistics </div>
-kyuubi<br/>.backend_service<br/>.get_functions_ms           | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `getFunctions` method time cost histogram statistics 
</div>
-kyuubi<br/>.backend_service<br/>.get_operation_status_ms    | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `getOperationStatus` method time cost histogram 
statistics </div>
-kyuubi<br/>.backend_service<br/>.cancel_operation_ms        | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `cancelOperation` method time cost histogram statistics 
</div>
-kyuubi<br/>.backend_service<br/>.close_operation_ms         | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `closeOperation` method time cost histogram statistics 
</div>
-kyuubi<br/>.backend_service<br/>.get_result_set_metadata_ms | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `getResultSetMetadata` method time cost histogram 
statistics </div>
-kyuubi<br/>.backend_service<br/>.fetch_results_ms           | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `fetchResults` method time cost histogram statistics 
</div>
+<code>kyuubi.exec.pool.threads.alive</code>  | | gauge | 1.2.0 |<div 
style='width: 150pt;word-wrap: break-word;white-space: normal'> threads 
keepAlive in the backend executive thread pool</div>
+<code>kyuubi.exec.pool.threads.active</code> | | gauge | 1.2.0 |<div 
style='width: 150pt;word-wrap: break-word;white-space: normal'> threads active 
in the backend executive thread pool</div>
+<code>kyuubi.connection.total</code>   | | counter | 1.2.0 |<div style='width: 
150pt;word-wrap: break-word;white-space: normal'>  cumulative connection 
count</div>
+<code>kyuubi.connection.opened</code>  | | gauge | 1.2.0 |<div style='width: 
150pt;word-wrap: break-word;white-space: normal'> current active connection 
count</div>
+<code>kyuubi.connection.opened</code>  | `${user}` | counter | 1.2.0 |<div 
style='width: 150pt;word-wrap: break-word;white-space: normal'> current active 
connections count requested by a `${user}`</div>
+<code>kyuubi.connection.failed</code>  | | counter | 1.2.0 |<div style='width: 
150pt;word-wrap: break-word;white-space: normal'>  cumulative failed connection 
count</div>
+<code>kyuubi.connection.failed</code>  | `${user}` | counter | 1.2.0 |<div 
style='width: 150pt;word-wrap: break-word;white-space: normal'> cumulative 
failed connections for a `${user}`</div>
+<code>kyuubi.operation.total</code>    | | counter | 1.5.0 |<div style='width: 
150pt;word-wrap: break-word;white-space: normal'>  cumulative opened operation 
count</div>
+<code>kyuubi.operation.total</code>    | `${operationType}` | counter | 1.5.0 
|<div style='width: 150pt;word-wrap: break-word;white-space: normal'>  
cumulative opened count for the operation `${operationType}`</div>
+<code>kyuubi.operation.opened</code>   | | gauge | 1.5.0 |<div style='width: 
150pt;word-wrap: break-word;white-space: normal'>  current opened operation 
count</div>
+<code>kyuubi.operation.opened</code>   | `${operationType}` | counter | 1.5.0 
|<div style='width: 150pt;word-wrap: break-word;white-space: normal'>  current 
opened count for the operation `${operationType}`</div>
+<code>kyuubi.operation.failed</code>   | 
`${operationType}`<br/>`.${errorType}` | counter | 1.5.0 |<div style='width: 
150pt;word-wrap: break-word;white-space: normal'>  cumulative failed count for 
the operation `${operationType}` with a particular `${errorType}`, e.g. 
`execute_statement.AnalysisException`</div>
+<code>kyuubi.engine.total</code>       | | counter | 1.2.0 |<div style='width: 
150pt;word-wrap: break-word;white-space: normal'>  cumulative created 
engines</div>
+<code>kyuubi.engine.timeout</code>     | | counter | 1.2.0 |<div style='width: 
150pt;word-wrap: break-word;white-space: normal'>  cumulative timeout 
engines</div>
+<code>kyuubi.engine.failed</code>      | `${user}` | counter | 1.2.0 |<div 
style='width: 150pt;word-wrap: break-word;white-space: normal'>  cumulative 
explicitly failed engine count for a `${user}`</div>
+<code>kyuubi.engine.failed</code>      | `${errorType}` | counter | 1.2.0 
|<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
cumulative explicitly failed engine count for a particular `${errorType}`, e.g. 
`ClassNotFoundException`</div>
+<code>kyuubi.backend_service.open_session_ms</code>            | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `openSession` method time cost histogram statistics 
</div>
+<code>kyuubi.backend_service.close_session_ms</code>           | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `closeSession` method time cost histogram statistics 
</div>
+<code>kyuubi.backend_service.get_info_ms</code>                | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `getInfo` method time cost histogram statistics </div>
+<code>kyuubi.backend_service.execute_statement_ms</code>       | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `executeStatement` method time cost histogram statistics 
</div>
+<code>kyuubi.backend_service.get_type_info_ms</code>           | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `getTypeInfo` method time cost histogram statistics 
</div>
+<code>kyuubi.backend_service.get_catalogs_ms</code>            | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `getCatalogs` method time cost histogram statistics 
</div>
+<code>kyuubi.backend_service.get_schemas_ms</code>             | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `getSchemas` method time cost histogram statistics </div>
+<code>kyuubi.backend_service.get_tables_ms</code>              | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `getTables` method time cost histogram statistics </div>
+<code>kyuubi.backend_service.get_table_types_ms</code>         | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `getTableTypes` method time cost histogram statistics 
</div>
+<code>kyuubi.backend_service.get_columns_ms</code>             | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `getColumns` method time cost histogram statistics </div>
+<code>kyuubi.backend_service.get_functions_ms</code>           | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `getFunctions` method time cost histogram statistics 
</div>
+<code>kyuubi.backend_service.get_operation_status_ms</code>    | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `getOperationStatus` method time cost histogram 
statistics </div>
+<code>kyuubi.backend_service.cancel_operation_ms</code>        | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `cancelOperation` method time cost histogram statistics 
</div>
+<code>kyuubi.backend_service.close_operation_ms</code>         | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `closeOperation` method time cost histogram statistics 
</div>
+<code>kyuubi.backend_service.get_result_set_metadata_ms</code> | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `getResultSetMetadata` method time cost histogram 
statistics </div>
+<code>kyuubi.backend_service.fetch_results_ms</code>           | | histogram | 
1.5.0 |<div style='width: 150pt;word-wrap: break-word;white-space: normal'> 
kyuubi backend service `fetchResults` method time cost histogram statistics 
</div>
 
 Before v1.5.0, if you use these metrics:
 - `kyuubi.statement.total`
diff --git 
a/kyuubi-server/src/test/scala/org/apache/kyuubi/config/AllKyuubiConfiguration.scala
 
b/kyuubi-server/src/test/scala/org/apache/kyuubi/config/AllKyuubiConfiguration.scala
index 3972554..0468ea0 100644
--- 
a/kyuubi-server/src/test/scala/org/apache/kyuubi/config/AllKyuubiConfiguration.scala
+++ 
b/kyuubi-server/src/test/scala/org/apache/kyuubi/config/AllKyuubiConfiguration.scala
@@ -146,23 +146,9 @@ class AllKyuubiConfiguration extends KyuubiFunSuite {
         newOutput += "--- | --- | --- | --- | ---"
 
         entries.sortBy(_.key).foreach { c =>
-          val key = {
-            val sb = new StringBuilder()
-            var curLen = 0
-            c.key.split("\\.").foreach { str =>
-              if (curLen + str.length > 21) {
-                sb.append("<br>\\." + str)
-                curLen = str.length + 1
-              } else {
-                sb.append("\\." + str)
-                curLen += (str.length + 1)
-              }
-            }
-            sb.toString().stripPrefix("\\.")
-          }
           val dft = c.defaultValStr.replace("<", "&lt;").replace(">", "&gt;")
           val seq = Seq(
-            key,
+            s"<code>${c.key}</code>",
             s"<div style='width: 65pt;word-wrap: break-word;white-space: 
normal'>$dft</div>",
             s"<div style='width: 170pt;word-wrap: break-word;white-space: 
normal'>${c.doc}</div>",
             s"<div style='width: 30pt'>${c.typ}</div>",

Reply via email to