Gravitino

Latest version: v0.5.0.dev6

Safety actively analyzes 624811 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

0.5.0

We are glad to announce the release of Gravitino **0.5.0**. This release is a major milestone for Gravitino and includes over 240 issues that cover several new features, improvements, and bug fixes.

This release introduces several core features like Apache Spark connector support, messaging catalog support, general user and authority management system, event listener system, and Python client support. In the meantime, we have made a lot of improvements and bug fixes to the existing features.

Core Features

1. **Apache Spark connector support**: Gravitino now supports Spark connector. You can use Spark to read and write catalog metadata through Gravitino. https://github.com/datastrato/gravitino/issues/1286, for more, refer to [spark-connector](https://github.com/datastrato/gravitino/blob/v0.5.0/docs/spark-connector/spark-connector.md)

2. **Messaging catalog support**: Gravitino now supports messaging catalogs such as Apache Kafka or Kafka-compatible streaming systems. You can use Messaging Catalog to manage your messaging catalog. https://github.com/datastrato/gravitino/issues/2369, for more, please refer to [kafka-catalog](https://github.com/datastrato/gravitino/blob/v0.5.0/docs/kafka-catalog.md)

3. **General user and access management**: Gravitino now supports general user and access management. https://github.com/datastrato/gravitino/issues/2232. This feature is currently in an alpha phase and is not available for production usage.

4. **Event listener system**: Gravitino now supports an event listener system. You can use it to manage all operation events or use the hook mechanism for your own events, such as operation history auditing, operation monitoring, etc. etc. https://github.com/datastrato/gravitino/issues/2233, refer to [event-listener-configuration](https://github.com/datastrato/gravitino/blob/v0.5.0/docs/gravitino-server-config.md#event-listener-configuration) for more information

5. **Python client support**: Gravitino now supports a Python client. Users can use Python to connect to Gravitino and operate the catalog directly. https://github.com/datastrato/gravitino/issues/2229. Currently, we only support fileset type catalogs with Python clients.

6. **Doris catalog support**: Gravitino now supports Apache Doris catalogs. https://github.com/datastrato/gravitino/issues/1339, for more information, you can refer to [jdbc-doris-catalog](https://github.com/datastrato/gravitino/blob/v0.5.0/docs/jdbc-doris-catalog.md)

7. **Support JDBC backend store**: Gravitino now supports using a JDBC backend store besides RocksDB. If you want to use MySQL or PostgreSQL as the entity store, you can use the JDBC entity store. https://github.com/datastrato/gravitino/issues/1811, for more, refer to [storage-configuration](https://github.com/datastrato/gravitino/blob/v0.5.0/docs/gravitino-server-config.md#storage-configuration)

8. **Support fileset catalog**: Gravitino now supports Fileset catalogs. with it, you can manage non-tabular data on HDFS, S3, or other Hadoop-compatible filesystems. https://github.com/datastrato/gravitino/issues/1241, for more, refer to [fileset catalog](https://github.com/datastrato/gravitino/blob/v0.5.0/docs/manage-fileset-metadata-using-gravitino.md)

9. **Introduce capability framework**: This framework shows the capability of different catalogs such as whether the name is case sensitive, name specification, whether null values are supported or not, and so on. https://github.com/datastrato/gravitino/issues/2952



Gravitino core
- Handling multi-thread issues in Gravitino and introducing tree lock. https://github.com/datastrato/gravitino/issues/407
- Introduces the user system. https://github.com/datastrato/gravitino/issues/2232
- Support multiple kinds of entity types in the same namespace with the same name. https://github.com/datastrato/gravitino/issues/2697
- Improve KV GC collector. https://github.com/datastrato/gravitino/issues/1276, https://github.com/datastrato/gravitino/issues/2888
- Improve client API https://github.com/datastrato/gravitino/issues/1292, https://github.com/datastrato/gravitino/issues/2628, https://github.com/datastrato/gravitino/issues/839, https://github.com/datastrato/gravitino/issues/1635, https://github.com/datastrato/gravitino/issues/1793, https://github.com/datastrato/gravitino/issues/1759, https://github.com/datastrato/gravitino/issues/1758
- Separate Java client. https://github.com/datastrato/gravitino/issues/2478
- Make class loaders of catalog able to be GC. https://github.com/datastrato/gravitino/issues/2706
- Support `UnparedType` to handle an unresolvable type from the catalog. https://github.com/datastrato/gravitino/issues/2117

Catalog related

MySQL & PostgreSQL
- Add PostgreSQL support for array type conversion. https://github.com/datastrato/gravitino/issues/947
- Obtain MySQL table meta information from JDBC metadata. https://github.com/datastrato/gravitino/issues/2934
- Avoid using system tables for MySQL catalogs. https://github.com/datastrato/gravitino/issues/2085

Kafka
- Please see the section `Core Features`

Fileset
- Please see the section `Core Features`

Doris
- Please see the section `Core Features`

Trino connector
- Add datatype test cases for the Trino connector. https://github.com/datastrato/gravitino/issues/2034
- Optimize varchar/char mapping between Gravitino catalogs and the Trino server. https://github.com/datastrato/gravitino/issues/2356
- Support the system table catalog. https://github.com/datastrato/gravitino/issues/2416
- Support update catalog operations in the Trino connector. https://github.com/datastrato/gravitino/issues/2417
- Make the Gravitino Trino connector compatible with Trino 435. https://github.com/datastrato/gravitino/issues/2376


Spark connector
- Please see the section `Core Features`

Build, test, and CI

- Introduce the error-prone plugin to check the code quality. https://github.com/datastrato/gravitino/issues/2225
- Increase the retry interval of the container status check. https://github.com/datastrato/gravitino/issues/2365
- Isolate catalog class path in IT. https://github.com/datastrato/gravitino/pull/2397
- Extend sleep time in the testInternalCache unit test. https://github.com/datastrato/gravitino/issues/2745
- Add web UI support for the fileset catalog. https://github.com/datastrato/gravitino/issues/2883
- Add check mechanism in CI to validate gradle publish. https://github.com/datastrato/gravitino/issues/2655
- More tests added in the Gravitino web E2E test framework. https://github.com/datastrato/gravitino/issues/1503
- Separate output log of test containers. https://github.com/datastrato/gravitino/issues/2839
- Upload process logs of IT container. https://github.com/datastrato/gravitino/issues/2832
- Merging embedded and deploy test mode for frontend integration test. https://github.com/datastrato/gravitino/issues/2798

Web UI
- Verify whether the catalog exists before creating it. https://github.com/datastrato/gravitino/issues/2324
- Add web UI support for the Kafka catalog. https://github.com/datastrato/gravitino/issues/2614
- Add web UI support for the Fileset catalog. https://github.com/datastrato/gravitino/issues/2292

Documents
- Separate metadata operations into different docs. https://github.com/datastrato/gravitino/issues/2750
- Add a document about how to debug the Gravitino Trino connector locally. https://github.com/datastrato/gravitino/pull/2446


Limitation and known issues
- The Doris catalog does not support features like sort order, distribution, and partitioning, and these features are under development.


Credits

bknbkn caican00 charliecheng630 ch3yne coolderli Clearvive danhuawang diqiu50 FANNG1 hiirrxnn ichuniq jerryshao justinmclean lw-yang Lanznx LauraXia123 mchades MohitKambli nk1506 qqqttt123 shaofengshi SteNicholas TEOTEO520 unknowntpo xiacongling xiaozcy xloya xunliu yijhenlin yuqi1129 Yangxuhao123 YxAc zhaoyongjie zhoukangcn zivali

0.4.0

Gravitino 0.4.0 is the fourth release since its inception and the second release since becoming open-source. With substantial contributions from the open-source community, this release has addressed over 280 issues.

This release is a stable release that mainly focuses on bug fixes. In the meantime, this release also introduces several features, like the public preview of Gravitino web UI, the support of unified partition management, the column default value and indexing support for table, the Kerberos support for client-server communication, the user impersonation support, the Kerberos support of hive catalog, the multiple Java version support, etc.

To download Gravitino 0.4.0, please visit the [releases](https://github.com/datastrato/gravitino/releases) pages, For detailed changes, you can visit Gravitino [milestone 0.4.0](https://github.com/datastrato/gravitino/milestone/5) for more details. We have also curated a list of high-level changes here, grouped by major modules.

Highlights

* Add the UI support for Gravitino [605](https://github.com/datastrato/gravitino/issues/605)
* Add partition support for Gravitino [1575](https://github.com/datastrato/gravitino/issues/1575)
* Support default value for column [896](https://github.com/datastrato/gravitino/issues/896)
* Support auto increment property for column [1277](https://github.com/datastrato/gravitino/issues/1277)
* Support index for table [1398](https://github.com/datastrato/gravitino/issues/1398) [#1707](https://github.com/datastrato/gravitino/issues/1707) [#1736](https://github.com/datastrato/gravitino/issues/1736)
* Support Kerberos for client-server communication [1185](https://github.com/datastrato/gravitino/issues/1185) [#1618](https://github.com/datastrato/gravitino/issues/1618)
* Support user impersonation [596](https://github.com/datastrato/gravitino/issues/596)
* Support Kerberized Hive metastore [1415](https://github.com/datastrato/gravitino/issues/1451)
* Support Java 8, 11 and 17 for Gravitino [1098](https://github.com/datastrato/gravitino/issues/1098)
* Introduce fine-grained lock support in Gravitino [778](https://github.com/datastrato/gravitino/issues/778)
* Support partitioning, bucketing, sorting for Trino Gravitino connector [1510](https://github.com/datastrato/gravitino/issues/1510)
* Support query optimization in Trino connector [1491](https://github.com/datastrato/gravitino/issues/1491)

Gravitino core

* Improve the `ConfigEntry` to support configuration without default value [950](https://github.com/datastrato/gravitino/issues/950)
* Add CORS filter for Jetty server Support Java 8, 11 and 17 for Gravitino [42](https://github.com/datastrato/gravitino/issues/42)
* Support auto increment property for column [1277](https://github.com/datastrato/gravitino/issues/1277)
* Ensure the correct semantics of `dropTable` and `purgeTable` [1436](https://github.com/datastrato/gravitino/issues/1436)
* Support index for table [1398](https://github.com/datastrato/gravitino/issues/1398)
* Support default value for column [896](https://github.com/datastrato/gravitino/issues/896)
* Add partition support for Gravitino [1575](https://github.com/datastrato/gravitino/issues/1575)
* Support Kerberos for client-server communication [1185](https://github.com/datastrato/gravitino/issues/1185) [#1618](https://github.com/datastrato/gravitino/issues/1618)
* Introduce fine-grained lock support in Gravitino [778](https://github.com/datastrato/gravitino/issues/778)
* Refine `Literal` APIs [1379](https://github.com/datastrato/gravitino/issues/1379)

Catalogs

Hive

* Add partition support for Hive [1575](https://github.com/datastrato/gravitino/issues/1575)
* Add user impersonation support for Hive catalog [596](https://github.com/datastrato/gravitino/pull/596)
* Support Kerberized Hive metastore [1451](https://github.com/datastrato/gravitino/issues/1451)

Iceberg

* Add the reigster IcebergCatalogConfig abstract class [874](https://github.com/datastrato/gravitino/issues/874)
* Support `Distribution` for Iceberg [1460](https://github.com/datastrato/gravitino/issues/1460)
* Add the basic framework to store Iceberg metrics [1187](https://github.com/datastrato/gravitino/issues/1187)
* Support struct column for Iceberg [1313](https://github.com/datastrato/gravitino/issues/1313) [#1471](https://github.com/datastrato/gravitino/issues/1471)

MySQL & PostgreSQL

* Support auto increment property for column [1388](https://github.com/datastrato/gravitino/issues/1388) [#1279](https://github.com/datastrato/gravitino/issues/1279)
* Support PostgreSQL index [1736](https://github.com/datastrato/gravitino/pull/1736)
* Support MySQL index [1707](https://github.com/datastrato/gravitino/pull/1707)
* Refactor to get metadata from JDBC [1737](https://github.com/datastrato/gravitino/pull/1737) [#1468](https://github.com/datastrato/gravitino/pull/1468)
* Add column default value support for MySQL and PostgreSQL [1531](https://github.com/datastrato/gravitino/issues/1531)

Trino connector

* Add the Trino TPC-H and TPC-DS test sets to the Trino connector integration test [1291](https://github.com/datastrato/gravitino/issues/1291)
* Optimize Trino connector's property mapping system [1455](https://github.com/datastrato/gravitino/issues/1455)
* Create docker-compose container for Trino test [919](https://github.com/datastrato/gravitino/issues/919)
* Support partitioning, bucketing, sorting for Trino Gravitino connector [1512](https://github.com/datastrato/gravitino/issues/1512)
* Support query optimization in Trino connector [1491](https://github.com/datastrato/gravitino/issues/1491)

UI

* Add the UI support for Gravitino [605](https://github.com/datastrato/gravitino/issues/605)

Build and others

* Remove sequence dependencies in test with annotation `Order` improvement [995](https://github.com/datastrato/gravitino/issues/995)
* Support Java 8, 11 and 17 for Gravitino [1098](https://github.com/datastrato/gravitino/issues/1098)
* Add multiple MySQL and PostgreSQL version support in integration test [1367](https://github.com/datastrato/gravitino/issues/1367) [#1361](https://github.com/datastrato/gravitino/issues/1361)
* Upgrade Jersey version to 2.41 [1756](https://github.com/datastrato/gravitino/issues/1756)
* Upgrade Guava version 32.1.3-jre [1755](https://github.com/datastrato/gravitino/issues/1755)
* Add test framework for web UI [1694](https://github.com/datastrato/gravitino/issues/1694)
* Support query optimization in Trino connector [1491](https://github.com/datastrato/gravitino/issues/1491)
* Pass the Trino-connector attributes when creating a Graviton catalog [1688](https://github.com/datastrato/gravitino/issues/1688)

Fixed known CVEs

* Upgrade Jersey version to 2.41 [1756](https://github.com/datastrato/gravitino/issues/1756)
* Upgrade Guava version 32.1.3-jre [1755](https://github.com/datastrato/gravitino/issues/1755)

Know issues

* Varchar type of PG catalog is not handled correctly by Gravitino 2035
* OAuth mode, authentication will expire after a few minutes 2099
* Gravitino web UI has issues on Safari 2100

Limitation:

* Audit information is empty for MySQL schema 1767

Credits

abant07 amananand20 austin362667 brandboat BWbwchen ch3yne Clearvive coolderli cottage14 cxzl25 diqiu50 FANNG1 FrankYang0529 hiirrxnn jerryshao justinmclean mchades NIRMALraki pan3793 qqqttt123 SophieTech88 SteNicholas TEOTEO520 xnge xunliu yuqi1129 YxAc 724thomas

0.3.1

Gravitino 0.3.1 is a maintenance release on branch-0.3, which fixes a bunch of UI, documentation and JDBC catalog issues.

For the details, please see the detailed change list below.

What's Changed
* [Minor] Minor formating and changes to fit with the style guide. by github-actions in https://github.com/datastrato/gravitino/pull/1127
* [MINOR] fix(docs): Fix the wrong link in the `README.md` by github-actions in https://github.com/datastrato/gravitino/pull/1130
* [MINOR] docs(lakehouse-iceberg): improvement lakehouse iceberg document by github-actions in https://github.com/datastrato/gravitino/pull/1138
* [1136] improvement(docs): Add the `md` suffix for every link in the markdown by github-actions in https://github.com/datastrato/gravitino/pull/1140
* [Minor] improvement(docs): Optimized Trino related docs. by github-actions in https://github.com/datastrato/gravitino/pull/1144
* [MINOR] fix(docs): Fix link of REST API page by github-actions in https://github.com/datastrato/gravitino/pull/1148
* [MINOR] fix(docs): fix ./gradlew spotlessApply of Coding standards by SteNicholas in https://github.com/datastrato/gravitino/pull/1153
* [Minor] improvement(docs): Optimize Trino related docs and fix some minor mistakes in docs by github-actions in https://github.com/datastrato/gravitino/pull/1159
* [1166] fix(docs): Fix typos `graviton` and syntax problems in docs by github-actions in https://github.com/datastrato/gravitino/pull/1176
* [MINOR] fix(docs): Fix a typo by github-actions in https://github.com/datastrato/gravitino/pull/1192
* [1154] fix(trino-connector): Fix the issue with joins causing errors in PostgreSQL. by github-actions in https://github.com/datastrato/gravitino/pull/1186
* [1047] improvement(core): Fix the issue of StringIdentifier in metalake property by github-actions in https://github.com/datastrato/gravitino/pull/1188
* [1171] bugfix(postgresql): Fix bug where the same table name can be loaded under multiple schemas. by github-actions in https://github.com/datastrato/gravitino/pull/1195
* [MINOR] fix(docs): Modify the required value for the document `security.md` by github-actions in https://github.com/datastrato/gravitino/pull/1223
* [MINOR] fix(doc): Fix a JSON format error in doc manage-metadata-using-gravitino.md by github-actions in https://github.com/datastrato/gravitino/pull/1229
* [1112] fix(jdbc): deleteColumn throws exception for table with ifExisting = true. by github-actions in https://github.com/datastrato/gravitino/pull/1230
* [879][925] Docker network Pool overlaps with other one on this address space by github-actions in https://github.com/datastrato/gravitino/pull/1234
* [Minor] docs: Add more details about dropping schema and tables by github-actions in https://github.com/datastrato/gravitino/pull/1240
* [MINOR] fix(docs): Modify the document according to the README of playground by github-actions in https://github.com/datastrato/gravitino/pull/1250
* [1231] Fix bugs in drop MySQL schemas by github-actions in https://github.com/datastrato/gravitino/pull/1251
* [1253] bugfix(jdbc): fix jdbc catalog store empty audit info issue by github-actions in https://github.com/datastrato/gravitino/pull/1261
* [Minor] Improve English, use better names and data, simplify SQL by github-actions in https://github.com/datastrato/gravitino/pull/1272
* [1469] improvement(doc): Add doc about webUI operation by github-actions in https://github.com/datastrato/gravitino/pull/1281
* [MINOR] improve(doc): Improve the index to reorganize the order of the docs by github-actions in https://github.com/datastrato/gravitino/pull/1288
* Happy new year! by github-actions in https://github.com/datastrato/gravitino/pull/1289
* [1135] improvement(docs): Add docs about tables advanced feature like partitioning by github-actions in https://github.com/datastrato/gravitino/pull/1296
* [1299] Fix the copyright year by github-actions in https://github.com/datastrato/gravitino/pull/1309
* [MINOR] doc: Improve English and add warning that web UI only works in Chrome by github-actions in https://github.com/datastrato/gravitino/pull/1314
* [1311] bugfix(docker): Unable to run datastrato/trino Docker in AWS by github-actions in https://github.com/datastrato/gravitino/pull/1315
* Fix minor grammar errors and English mistakes in documentation. by github-actions in https://github.com/datastrato/gravitino/pull/1320
* [MINOR] fix typo in URL by github-actions in https://github.com/datastrato/gravitino/pull/1324
* [1151] fix(UI): Fix status cache after modified a Metalake by github-actions in https://github.com/datastrato/gravitino/pull/1325
* [MINOR] Add note on supported build systems by github-actions in https://github.com/datastrato/gravitino/pull/1326
* [1113][1224] improvement(UI): TS support and improve global request handing by github-actions in https://github.com/datastrato/gravitino/pull/1332
* [1237] fix(trino): Fix dropping iceberg schema failure by github-actions in https://github.com/datastrato/gravitino/pull/1333
* [1150] fix(UI): Fix details comment error and improve components check by github-actions in https://github.com/datastrato/gravitino/pull/1334
* [1282] bugfix(CI) Automatically trigger CI for auto-cherry-pick workflow by jerryshao in https://github.com/datastrato/gravitino/pull/1342
* [1328] fix(trino-connector): Fix the failed 'drop catalog' test on Trino image gravitino-ci-trino:0.1.3. by jerryshao in https://github.com/datastrato/gravitino/pull/1347
* [1295] improvement(CI): separate trino image for CI and users by jerryshao in https://github.com/datastrato/gravitino/pull/1344
* [1267] fix: Add missing headers and license by jerryshao in https://github.com/datastrato/gravitino/pull/1360
* [1317] fix(trino-connector): Support Fixed type conversion by jerryshao in https://github.com/datastrato/gravitino/pull/1376
* [1001] fix(UI): Fix null requests in the web UI by jerryshao in https://github.com/datastrato/gravitino/pull/1378
* [1350] fix(UI): Fix fields validation when create a catalog in the web UI by jerryshao in https://github.com/datastrato/gravitino/pull/1387
* [1273] fix(UI): Fix cache values in the dialog when create a catalog by jerryshao in https://github.com/datastrato/gravitino/pull/1382
* [1391] fix(UI): Fix update metalake error in the web UI by jerryshao in https://github.com/datastrato/gravitino/pull/1400
* [1403] fix(UI): Remove unnecessary fields when creating a catalog in the web UI by jerryshao in https://github.com/datastrato/gravitino/pull/1407
* [1428] improvement(UI): Filtering empty keys when create or update by jerryshao in https://github.com/datastrato/gravitino/pull/1430


**Full Changelog**: https://github.com/datastrato/gravitino/compare/v0.3.0...v0.3.1

0.3.0

Release notes

Gravitino server

- Authorization support for Gravitino.
- Metrics system for Gravitino.
- Optimize and finalize the v1 storage layout.

Core metadata

- Add a unified type system.
- Add a unified expression system.

Catalog support

- Add new JDBC Catalog support (with MySQL and PostgreSQL support).

Trino connector

- Add Iceberg and JDBC connector support.
- Add catalog/schema/table level property support.
- Add full type system support.

Web UI

- Gravitino UI support.

0.2.0

This is the Gravitino 0.2.0 release. You can verify the release using the signature (.asc files) or hashes (.sha256 files).

Links

Releases

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.