yuqi1129 opened a new pull request, #13946: URL: https://github.com/apache/gravitino/pull/13946
### What changes were proposed in this pull request? - Register and forward `jdbc.pool.max-wait-ms` so it reaches the JDBC connection pool. - Reject undeclared MySQL table properties instead of silently dropping them, while retaining internal identifier and credential metadata handling. - Decode supported MySQL options using their declared enum/integer types and render canonical SQL values. Apply the same validation to create/alter SQL generation. - Remove Spark's implicit `owner` metadata in the JDBC connector before forwarding table options, preserving normal Spark table creation under strict MySQL validation. - Clarify the MySQL property names and immutable-property policy in the catalog documentation. ### Why are the changes needed? The canonical pool-wait setting currently falls back to `30000` ms. Unknown MySQL table properties are accepted and then discarded by mapping on both create and alter. This patch corrects these two property-handling paths; it does not claim that unknown properties bypass immutability through the public API. Fix: #13945 ### Does this PR introduce _any_ user-facing change? Configured pool wait times take effect. MySQL create/alter requests with unknown table properties now fail with an error naming the key. Supported values are validated before DDL. `engine` and `auto-increment-offset` remain immutable, and strict unknown-key validation is scoped to MySQL. Spark JDBC no longer forwards its reserved `owner` metadata as a table option; other user-supplied keys continue to reach the server for catalog-specific handling. ### How was this patch tested? - Full JDBC common and MySQL non-Docker unit suites: 106 and 29 tests passed. - Regressions exercise catalog initialization through the actual pool, catalog create/alter property mapping, internal metadata handling, and create/alter SQL generation before any connection is borrowed. - Separate mutation checks revert the pool registration, MySQL metadata validation, and SQL validation; the corresponding regression cases fail as expected. - MySQL catalog module with Docker enabled: 51 tests passed, including real create/alter property round trips. - Full Spark 3.5 and 4.0 non-Docker suites: 233 and 229 tests passed, including implicit-owner removal and preservation of unknown user keys for server-side validation. - Reverting Spark owner removal makes both owner regression cases fail; restoring the fix passes all four converter tests. - JDBC common, MySQL, and Spark common Spotless checks. -- 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]
