Apache Iceberg Rust version
main
Describe the bug
Hive 4.0.1 removed the get_table thrift method from the metastore service (it is absent from the 4.x hive_metastore.thrift; only get_table_req remains). The HMS catalog still calls get_table in load_table, table_exists, and rename_table, so every table operation fails against a Hive 4 metastore:
Error: Unexpected => Operation failed for hitting thrift error
Source: thrift error: Application(ApplicationException { kind: ApplicationExceptionKind(1), message: "Invalid method name: 'get_table'" })
The integration tests run against apache/hive:3.1.3, which still serves get_table, so CI does not catch this. PyIceberg hit the same problem and fixed it in apache/iceberg-python#3924.
To Reproduce
- Start
apache/hive:4.2.1 as a metastore (SERVICE_NAME=metastore).
- Point
HmsCatalog at it and call load_table on any table.
Expected behavior
Table operations succeed against Hive 4 metastores. get_table_req exists in every Hive release since 2.3, so switching to it keeps older metastores working.
Apache Iceberg Rust version
main
Describe the bug
Hive 4.0.1 removed the
get_tablethrift method from the metastore service (it is absent from the 4.xhive_metastore.thrift; onlyget_table_reqremains). The HMS catalog still callsget_tableinload_table,table_exists, andrename_table, so every table operation fails against a Hive 4 metastore:The integration tests run against
apache/hive:3.1.3, which still servesget_table, so CI does not catch this. PyIceberg hit the same problem and fixed it in apache/iceberg-python#3924.To Reproduce
apache/hive:4.2.1as a metastore (SERVICE_NAME=metastore).HmsCatalogat it and callload_tableon any table.Expected behavior
Table operations succeed against Hive 4 metastores.
get_table_reqexists in every Hive release since 2.3, so switching to it keeps older metastores working.