# 🔍 Description ## Issue References 🔗 Similar to https://github.com/apache/kyuubi/pull/5412, this PR aims to change the default SQLite file `kyuubi_state_store.db` for Metadata store is located under `$KYUUBI_HOME` instead of `$PWD`. ## Describe Your Solution 🔧 Make `kyuubi.metadata.store.jdbc.url` supports the variables substitution: `<KYUUBI_HOME>`, and change the default value to `jdbc:sqlite:<KYUUBI_HOME>/kyuubi_state_store.db` ## Types of changes 🔖 - [ ] Bugfix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) ## Test Plan 🧪 Verified locally. Make a binary distribution, and bootstrap the Kyuubi Server process from a non-KYUUBI_HOME dir, `kyuubi_state_store.db` is created at KYUUBI_HOME as expected. --- # Checklists ## 📝 Author Self Checklist - [ ] My code follows the [style guidelines](https://kyuubi.readthedocs.io/en/master/contributing/code/style.html) of this project - [x] I have performed a self-review - [ ] I have commented my code, particularly in hard-to-understand areas - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes - [x] This patch was not authored or co-authored using [Generative Tooling](https://www.apache.org/legal/generative-tooling.html) ## 📝 Committer Pre-Merge Checklist - [ ] Pull request title is okay. - [ ] No license issues. - [ ] Milestone correctly set? - [ ] Test coverage is ok - [ ] Assignees are selected. - [ ] Minimum number of approvals - [ ] No changes are requested **Be nice. Be informative.** Closes #5892 from pan3793/sqlite-jdbc-url. Closes #5892 4341f4263 [Cheng Pan] docs 7062bcdf9 [Cheng Pan] migration guide 989de0e5b [Cheng Pan] Metadata store JDBC url supports <KYUUBI_HOME> variable Authored-by: Cheng Pan <chengpan@apache.org> Signed-off-by: Fei Wang <fwang12@ebay.com>
4.4 KiB
4.4 KiB
Kyuubi Migration Guide
Upgrading from Kyuubi 1.8.0 to 1.8.1
- Since Kyuubi 1.8.1, for
DELETE /batches/${batchId},hive.server2.proxy.useris not needed in the request parameters. - Since Kyuubi 1.8.1, the default SQLite file
kyuubi_state_store.dbfor Metadata store is located under$KYUUBI_HOMEinstead of$PWD. To restore previous behavior, setkyuubi.metadata.store.jdbc.urltojdbc:sqlite:kyuubi_state_store.db.
Upgrading from Kyuubi 1.7 to 1.8
- Since Kyuubi 1.8, SQLite is added and becomes the default database type of Kyuubi metastore, as Derby has been deprecated.
Both Derby and SQLite are mainly for testing purposes, and they're not supposed to be used in production.
To restore previous behavior, set
kyuubi.metadata.store.jdbc.database.type=DERBYandkyuubi.metadata.store.jdbc.url=jdbc:derby:memory:kyuubi_state_store_db;create=true. - Since Kyuubi 1.8, if the directory of the embedded zookeeper configuration (
kyuubi.zookeeper.embedded.directory&kyuubi.zookeeper.embedded.data.dir&kyuubi.zookeeper.embedded.data.log.dir) is a relative path, it is resolved relative to$KYUUBI_HOMEinstead of$PWD. - Since Kyuubi 1.8, PROMETHEUS is changed as the default metrics reporter. To restore previous behavior,
set
kyuubi.metrics.reporters=JSON.
Upgrading from Kyuubi 1.7.1 to 1.7.2
- Since Kyuubi 1.7.2, for Kyuubi BeeLine, please use
--python-modeoption to run python code or script.
Upgrading from Kyuubi 1.7.0 to 1.7.1
- Since Kyuubi 1.7.1,
protocolVersionis removed from the request parameters of the REST APIOpen(create) a session. All removed or unknown parameters will be silently ignored and affects nothing. - Since Kyuubi 1.7.1,
confOverlayis supported in the request parameters of the REST APICreate an operation with EXECUTE_STATEMENT type.
Upgrading from Kyuubi 1.6 to 1.7
- In Kyuubi 1.7,
kyuubi.ha.zookeeper.engine.auth.typedoes not fallback tokyuubi.ha.zookeeper.auth.type.
When Kyuubi engine does Kerberos authentication with Zookeeper, user needs to explicitly setkyuubi.ha.zookeeper.engine.auth.typetoKERBEROS. - Since Kyuubi 1.7, Kyuubi returns engine's information for
GetInforequest instead of server. To restore the previous behavior, setkyuubi.server.info.providertoSERVER. - Since Kyuubi 1.7, Kyuubi session type
SQLis refactored toINTERACTIVE, because Kyuubi supports not onlySQLsession, but alsoSCALAandPYTHONsessions. User need to useINTERACTIVEsessionType to look up the session event. - Since Kyuubi 1.7, the REST API of
Open(create) a sessionwill not contain parametersuserpasswordandIpAddr. User and password should be set inAuthorizationof http request if needed.
Upgrading from Kyuubi 1.6.0 to 1.6.1
- Since Kyuubi 1.6.1,
kyuubi.ha.zookeeper.engine.auth.typedoes not fallback tokyuubi.ha.zookeeper.auth.type.
When Kyuubi engine does Kerberos authentication with Zookeeper, user needs to explicitly setkyuubi.ha.zookeeper.engine.auth.typetoKERBEROS.
Upgrading from Kyuubi 1.5 to 1.6
- Kyuubi engine gets Zookeeper principal & keytab from
kyuubi.ha.zookeeper.auth.principal&kyuubi.ha.zookeeper.auth.keytab.
kyuubi.ha.zookeeper.auth.principal&kyuubi.ha.zookeeper.auth.keytabfallback tokyuubi.kinit.principal&kyuubi.kinit.keytabwhen not set.
Since Kyuubi 1.6,kyuubi.kinit.principal&kyuubi.kinit.keytabare filtered out from Kyuubi engine's conf for better security.
When Kyuubi engine does Kerberos authentication with Zookeeper, user needs to explicitly setkyuubi.ha.zookeeper.auth.principal&kyuubi.ha.zookeeper.auth.keytab.