luoyuxia opened a new pull request, #2924:
URL: https://github.com/apache/fluss/pull/2924
### Purpose
Linked issue: close #2908
This change allows lakehouse to be enabled only after the cluster-level
lakehouse binding is turned on, while keeping compatibility for clusters and
tables created before the new configuration semantics.
### Brief change log
- add cluster config `datalake.enabled` and define `legacy`, `pre-bind`, and
`fully-enabled` semantics
- update dynamic lake catalog loading so explicit `datalake.enabled=true`
requires `datalake.format`, while `false` skips creating `LakeCatalog` and
still tolerates legacy clusters that delete `datalake.format`
- persist `table.datalake.format` when creating tables and validate both
`CREATE TABLE` and `ALTER TABLE ... SET ('table.datalake.enabled'='true')`
against the cluster datalake state and format
- reject enabling lakehouse for old tables that do not have a persisted
table-level datalake format, and reject format mismatches after cluster binding
is enabled
### Tests
- `./mvnw -pl fluss-server,fluss-client -am -DskipITs -DfailIfNoTests=false
-Dtest=DynamicConfigChangeTest,LakeEnableTableITCase test`
### API and Format
- adds cluster config `datalake.enabled`
- persists `table.datalake.format` for newly created lakehouse tables
- does not change existing storage format, but tightens validation for
enabling lakehouse on pre-existing tables
### Documentation
- no
--
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]