diqiu50 opened a new issue, #14564:
URL: https://github.com/apache/gravitino/issues/14564
### Version
main branch
### Describe what's wrong
Several Glue catalog operations on Iceberg tables return wrong results,
silently skip changes or report client errors as server errors:
- A table whose Iceberg metadata cannot be read (missing file, S3 access
denied) loads with HTTP 200 as unpartitioned, with the Glue Hive-style column
types.
- `timestamp_ns`, `variant`, `geometry`, `geography` and `unknown` columns
load as `External` types, while the Iceberg catalog maps them; on create,
`byte`/`short` and `fixed(n)` are silently widened.
- A v1 table with a dropped (`void`) partition field loads as unpartitioned.
- Invalid partition transforms or sort terms return HTTP 500, or 400/501
with Java class names.
- Registering a table with `metadata_location` does not read the file:
missing or invalid files are accepted, and Glue gets the request columns and a
warehouse-derived location. Alters of a registered table write new metadata
into the source table's directory.
- Column position and auto-increment changes return HTTP 200 and are not
applied; an alter rejected with 400 still commits its column changes.
- Purge is not supported, and the partition API on an Iceberg table reports
no partitions instead of refusing.
- S3 errors on the Iceberg path are reported as "Glue error" with HTTP 500,
and the Iceberg Glue client ignores the catalog's call timeout and retry
settings.
### Error message and/or stacktrace
```
GET .../tables/ice_transforms (current metadata file removed)
HTTP 200 {"partitioning":[], ...}
WARN GlueCatalogOperations - Failed to load Iceberg metadata for table
gglue_ice.ice_transforms
org.apache.iceberg.exceptions.NotFoundException: Location does not exist:
s3://.../metadata/00001-....metadata.json
```
### How to reproduce
1. Create a partitioned Iceberg table in a Glue catalog and remove its
current metadata file from S3.
2. Load the table through Gravitino: HTTP 200 with empty partitioning.
3. Alter it with `addColumn` and `setProperty format-version=1`: HTTP 400,
but the column is added.
--
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]