jiangxt2 opened a new issue, #12102:
URL: https://github.com/apache/gravitino/issues/12102
### Describe the feature
The jdbc-doris catalog currently only exposes `replication_num` as a
table property. However, Doris supports 30+ table properties in the
`PROPERTIES (...)` clause of `CREATE TABLE`. Users cannot configure
commonly used properties like bloom filter columns, compression, or
storage policy through Gravitino, requiring manual SQL intervention.
This issue proposes registering 5 frequently-used table properties:
| Property | Type | Description |
|---|---|---|
| `compression` | writable | Compression type (ZSTD, LZ4, LZ4F, ZLIB) |
| `bloom_filter_columns` | writable | Comma-separated list of bloom filter
columns |
| `storage_policy`* | writable | Storage policy name for cold-hot separation
|
| `light_schema_change` | read-only | Whether light schema change is enabled
|
| `enable_unique_key_merge_on_write` | read-only | Whether merge-on-write is
enabled for Unique Key tables |
*Requires a pre-created storage policy resource. End-to-end testing is
not feasible in Docker CI; metadata validation is covered by unit tests.
The last two are registered as reserved (read-only) properties because
they are auto-managed by Doris and should not be set by users.
### Motivation
These properties are frequently used in production Doris deployments.
Users currently must set them directly on the Doris side after table
creation, which defeats the purpose of unified metadata management
through Gravitino.
### Describe the solution
Register 5 new `PropertyEntry` instances in
`DorisTablePropertiesMetadata`:
- 3 `stringOptionalPropertyEntry` for writable properties
- 2 `stringReservedPropertyEntry` for read-only properties
The read path (`DorisUtils.extractPropertiesFromSql`) already parses
all properties from `SHOW CREATE TABLE`, so no read-side changes are
needed. The write path (`DorisUtils.generatePropertiesSql`) writes all
key-value pairs generically, so the new properties pass through without
additional changes. Comprehensive tests are included across Doris
1.2.x, 3.0.x, and 4.0.x.
### Additional context
- `compression` is deprecated as a table-level property in Doris 4.0+
(silently ignored by `SHOW CREATE TABLE`), but remains valid and
persists in `SHOW CREATE TABLE` output in 1.2.x and 3.0.x.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]