diqiu50 commented on PR #12631:
URL: https://github.com/apache/gravitino/pull/12631#issuecomment-6096632438

   Hi @eskabetxe, this area needs to be ready for the 2.0 release, so to keep 
things moving I continued on top of your earlier work (follow-up at 
[diqiu50/gravitino#16](https://github.com/diqiu50/gravitino/pull/16)). Ran the 
full SQL integration suite end-to-end across all of 469-483, which surfaced a 
few real bugs on the Trino 482/483 side:
   
   1. Missing `jackson-module-blackbird` dependency — remote-task result 
serialization fails with `NoClassDefFoundError`.
   2. `DynamicFilterSnapshot` (new in 482) isn't unwrapped in the split source, 
causing a `ClassCastException` on dynamic filtering.
   3. `ConnectorMetadata.getTableCredentials` (new in 482) has no override, so 
writes get an empty `Optional` and Iceberg inserts fail with `VerifyException`.
   4. `ConnectorTableCredentials` isn't registered for cross-process JSON 
(de)serialization, so even after fixing #3 the credentials object fails to 
deserialize on the worker.
   5. `iceberg.rest-catalog.vended-credentials-enabled` gets forced on 
unconditionally; Trino 482 dropped the old fallback for warehouses without a 
native object-storage file system (e.g. HDFS), so Iceberg writes to HDFS-backed 
catalogs fail outright.
   6. The hardcoded `PARENT_FIRST_PACKAGES` list in 
`GravitinoConnectorPluginManager` has drifted from Trino's own 
`PluginManager.SPI_PACKAGES` (missing `org.locationtech.jts.`, needed by the 
Iceberg connector's Parquet writer) — we switched to reading it from Trino 
reflectively, with the hardcoded list only as a fallback.
   7. `trino-connector-473-479` needs to split at the real 
`executeTableExecute` breakpoint (Trino 478, void → `Map<String,Long>`); 
otherwise `TABLE EXECUTE` procedures (e.g. `expire_snapshots`) silently no-op 
on 473-477.
   8. MySQL `CHAR` columns return trailing-space-trimmed values starting in 
Trino 482; the test fixtures need a version patch for that.
   
   All fixed and integration-tested (242/242 on every version 469-483) on our 
branch. Feel free to cherry-pick them yourself, or I can push these fixes onto 
your branch directly — whichever works better for you. Separately, your 
`segment.gradle` approach for deduplicating the shared build config is better 
than what we had — planning to adopt it.
   


-- 
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]

Reply via email to