Impala Public Jenkins has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/24682 )

Change subject: IMPALA-15310: Finalize REST catalog INSERT
......................................................................

IMPALA-15310: Finalize REST catalog INSERT

Enable INSERT INTO for Iceberg tables loaded from named REST catalogs.
Carry the catalog name through DML finalization and reload the target
from the same provider. This keeps routing correct with CatalogD or
multiple REST catalogs without exposing endpoints or credentials.

Use a dedicated TIcebergDmlFinalizeRequest for coordinator-side
finalization. TUpdateCatalogRequest remains on the CatalogD route.
Keep OperationType on the READ/WRITE/ANY capability axis and pass the
INSERT context through ensureTableWriteSupported().

The configured REST catalog name selects the provider that finalizes
the write. Empty or duplicate names disable INSERT INTO instead of
selecting an ambiguous provider. The planning-time table UUID protects
the commit from finalizing against a replaced table.

Create and drop the REST DML test tables through the REST API from the
Python fixture. The Java REST test server remains a generic catalog
server.

Testing:
- Focused Maven package for the Iceberg REST catalog test server
- Python syntax checks for the REST fixture and its unit test

Full Java/Thrift and C++ validation requires the Gerrit dry run.

Change-Id: I7d17216fb8d12e5bd007b93cb9b3bc153438213b
Assisted-by: gpt-6-astra (OpenAI Codex)
Reviewed-on: http://gerrit.cloudera.org:8080/24682
Reviewed-by: Impala Public Jenkins <[email protected]>
Tested-by: Impala Public Jenkins <[email protected]>
---
M be/src/service/client-request-state.cc
M be/src/service/frontend.cc
M be/src/service/frontend.h
M common/thrift/Frontend.thrift
M common/thrift/Query.thrift
M docs/topics/impala_iceberg_rest_catalog.xml
M fe/src/main/java/org/apache/impala/analysis/Analyzer.java
M fe/src/main/java/org/apache/impala/analysis/InsertStmt.java
M fe/src/main/java/org/apache/impala/analysis/MergeStmt.java
M fe/src/main/java/org/apache/impala/analysis/ModifyStmt.java
M fe/src/main/java/org/apache/impala/analysis/OptimizeStmt.java
M fe/src/main/java/org/apache/impala/catalog/FeIcebergTable.java
M fe/src/main/java/org/apache/impala/catalog/iceberg/IcebergRESTCatalog.java
M fe/src/main/java/org/apache/impala/catalog/local/IcebergMetaProvider.java
M fe/src/main/java/org/apache/impala/catalog/local/LocalIcebergTable.java
M fe/src/main/java/org/apache/impala/catalog/local/MetaProvider.java
M fe/src/main/java/org/apache/impala/service/Frontend.java
M fe/src/main/java/org/apache/impala/service/IcebergDmlFinalizer.java
M fe/src/main/java/org/apache/impala/service/JniFrontend.java
M 
fe/src/main/java/org/apache/impala/service/catalogmanager/FeCatalogManager.java
M fe/src/main/java/org/apache/impala/service/catalogmanager/LocalImpl.java
M fe/src/main/java/org/apache/impala/service/catalogmanager/TestImpl.java
M fe/src/main/java/org/apache/impala/util/DebugUtils.java
A fe/src/test/java/org/apache/impala/analysis/AnalyzerCapabilityTest.java
A fe/src/test/java/org/apache/impala/service/IcebergRestDmlOperationTest.java
A fe/src/test/java/org/apache/impala/service/catalogmanager/LocalImplTest.java
M fe/src/test/java/org/apache/impala/util/DebugUtilsTest.java
M 
java/iceberg-rest-catalog-test/src/main/java/org/apache/iceberg/rest/IcebergRestCatalogTest.java
M testdata/bin/run-iceberg-rest-server.sh
M testdata/configs/catalog_configs/iceberg_rest_config/rest.properties
M testdata/configs/catalog_configs/multicatalog_rest_config/rest-1.properties
M testdata/configs/catalog_configs/multicatalog_rest_config/rest-2.properties
M 
testdata/workloads/functional-query/queries/QueryTest/iceberg-multicatalog.test
M 
testdata/workloads/functional-query/queries/QueryTest/iceberg-multiple-rest-catalogs.test
M tests/common/iceberg_rest_server.py
M tests/custom_cluster/test_iceberg_rest_catalog.py
M tests/query_test/test_iceberg.py
A tests/unittests/test_iceberg_rest_catalog.py
38 files changed, 974 insertions(+), 60 deletions(-)

Approvals:
  Impala Public Jenkins: Looks good to me, approved; Verified

--
To view, visit http://gerrit.cloudera.org:8080/24682
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I7d17216fb8d12e5bd007b93cb9b3bc153438213b
Gerrit-Change-Number: 24682
Gerrit-PatchSet: 16
Gerrit-Owner: Aleksandr Efimov <[email protected]>
Gerrit-Reviewer: Aleksandr Efimov <[email protected]>
Gerrit-Reviewer: Csaba Ringhofer <[email protected]>
Gerrit-Reviewer: Daniel Becker <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Reviewer: Michael Smith <[email protected]>
Gerrit-Reviewer: Noemi Pap-Takacs <[email protected]>
Gerrit-Reviewer: Peter Rozsa <[email protected]>
Gerrit-Reviewer: Zoltan Borok-Nagy <[email protected]>

Reply via email to