Hello Zoltan Borok-Nagy, Peter Rozsa,

I'd like you to do a code review. Please visit

    http://gerrit.cloudera.org:8080/24682

to review the following change.


Change subject: WIP: IMPALA-13832: REST INSERT PoC
......................................................................

WIP: IMPALA-13832: REST INSERT PoC

This is a design PoC, not a production-ready change.

Allow INSERT INTO for an Iceberg REST table only when CatalogD is absent
and exactly one REST provider is configured. Keep the table read-only
for the general HMS access-type check and reject INSERT OVERWRITE,
DELETE, UPDATE, MERGE, and OPTIMIZE during analysis for an insert-only
table.

Reuse the existing Iceberg sink and catalog-operation request. In the
standalone topology, finalize the operation through the coordinator Java
Frontend and the REST-loaded Iceberg table. Preserve cleanup for known
commit failures and retain files when the commit state is unknown.

The topology-based route and name-only table reload are explicit PoC
shortcuts. A production change needs provider affinity, stable table
identity, and a shared Iceberg transaction/cleanup helper.

Testing:
- ninja java impalad statestored
- AnalyzerCapabilityTest
- IcebergRestDmlOperationTest
- DebugUtilsTest
- TestIcebergRestCatalogDmlStandalone::test_rest_catalog_insert_into
- TestIcebergRestCatalogDmlStandalone::
  test_multiple_rest_catalogs_reject_insert

Not run in the focused standalone validation:
- TestIcebergRestCatalogWithHms::test_rest_catalog_multicatalog

Change-Id: I7d17216fb8d12e5bd007b93cb9b3bc153438213b
Assisted-by: gpt-5.6-sol (OpenAI Codex)
---
M be/src/service/client-request-state.cc
M be/src/service/frontend.cc
M be/src/service/frontend.h
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/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/JniFrontend.java
M fe/src/main/java/org/apache/impala/service/catalogmanager/LocalImpl.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
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 tests/common/iceberg_rest_server.py
M tests/custom_cluster/test_iceberg_rest_catalog.py
22 files changed, 496 insertions(+), 17 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/82/24682/1
--
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: newchange
Gerrit-Change-Id: I7d17216fb8d12e5bd007b93cb9b3bc153438213b
Gerrit-Change-Number: 24682
Gerrit-PatchSet: 1
Gerrit-Owner: Aleksandr Efimov <[email protected]>
Gerrit-Reviewer: Peter Rozsa <[email protected]>
Gerrit-Reviewer: Zoltan Borok-Nagy <[email protected]>

Reply via email to