MisterRaindrop commented on code in PR #694:
URL: https://github.com/apache/iceberg-cpp/pull/694#discussion_r3356312633


##########
third_party/hive_metastore/NOTICE:
##########
@@ -0,0 +1,26 @@
+Apache Iceberg C++ — Vendored Hive Metastore Thrift IDL
+Copyright 2026 The Apache Software Foundation
+
+This directory contains vendored Thrift interface definitions used to
+generate the C++ Hive Metastore (HMS) client consumed by the
+`iceberg_hive` library. The interface files are sourced verbatim from
+upstream Apache projects (only trailing whitespace and final newlines
+were normalized by the repository's pre-commit hooks) and remain under
+the Apache License, Version 2.0 (see LICENSE in the repository root).
+
+Vendored sources
+================
+
+* hive_metastore.thrift
+    Apache Hive 3.1 standalone-metastore.

Review Comment:
   Good question. I selected Hive 3.1.3 because it is a mature and widely 
deployed HMS
   version. I also considered the precedent from iceberg-rust, which maintains 
a single
   client generated from a Hive 2.3 IDL and integration-tests it against Hive 
3.1.3.
   
   For future maintenance, I propose keeping a single vendored IDL pinned to an
   immutable Hive release tag or commit, rather than maintaining separate 
generated
   clients for each Hive version. The implementation should use RPCs shared 
across the
   supported versions whenever possible.
   
   If future Hive releases introduce incompatible RPC changes, we can add 
narrowly
   scoped runtime adapters or fallback logic, allowing one build of iceberg-cpp 
to
   support multiple Hive versions. We should validate and document the supported
   versions through a CI compatibility matrix before claiming compatibility.



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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to