[Impala-ASF-CR] IMPALA-11996: Scanner change for Iceberg metadtata querying

2023-08-24 Thread Gabor Kaszab (Code Review)
Gabor Kaszab has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20010 )

Change subject: IMPALA-11996: Scanner change for Iceberg metadtata querying
..


Patch Set 5:

(64 comments)

Thanks for the patch, Tamas! Does really seem like a lot of work.

I took a first look and I think I found some mem leaks around 
IcebergMetadataScanNode.

I still have to digest the code in IcebergMetadataTableScanner, though. 
Honestly, for me it seems pretty ugly to have JNI call within c++ for literally 
everything. I naively thought that we could somehow let the Java part do the 
Java stuff and the C++ part only meant to ask for the next set of results in 
some format, like thrift.
Even if that's not possible, I think we can give some subtask to the Java part, 
like "please create me the object for the metadata table" and then we can hide 
the majority of the java class/variable/method/type references in the c++ code.
Can't we somehow keep the Java references minimal and let's say maintain the 
iterator that traverses the results, but then ask the Java part to get us the 
actual results giving it the iterator? Could results be passed in thrift or 
some buffer format between the 2 words? Once we got them, we could move the 
values into the row_batch.

I'm curious what others think about this, though.

http://gerrit.cloudera.org:8080/#/c/20010/5//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/20010/5//COMMIT_MSG@7
PS5, Line 7: metadtata
typo


http://gerrit.cloudera.org:8080/#/c/20010/5//COMMIT_MSG@17
PS5, Line 17: se
typo


http://gerrit.cloudera.org:8080/#/c/20010/5//COMMIT_MSG@17
PS5, Line 17: struct column types
it's not just struct but nested types in general


http://gerrit.cloudera.org:8080/#/c/20010/5/be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.h
File be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.h:

http://gerrit.cloudera.org:8080/#/c/20010/5/be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.h@20
PS5, Line 20: #include "exec/iceberg-metadata/iceberg-metadata-table-scanner.h"
Would it help to remove this include if we had a forward declaration of 
IcebergMetadataTableScanner in this header file?


http://gerrit.cloudera.org:8080/#/c/20010/5/be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.h@22
PS5, Line 22: #include "runtime/runtime-state.h"
: #include "util/jni-util.h"
same as above


http://gerrit.cloudera.org:8080/#/c/20010/5/be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.h@41
PS5, Line 41: /// ScanNode ancestor -> ExecNode
I don't think this comment is neccessary


http://gerrit.cloudera.org:8080/#/c/20010/5/be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.h@42
PS5, Line 42: class IcebergMetadataScanNode : public ScanNode {
Don't you need a virtual destructor for this class?


http://gerrit.cloudera.org:8080/#/c/20010/5/be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.h@49
PS5, Line 49: Iceberg TableScan
What is an Iceberg 'TableScan'? I haven't found any reference in the cc file.


http://gerrit.cloudera.org:8080/#/c/20010/5/be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.h@52
PS5, Line 52:   /// Get next rowbatch from the table scanner
this comment doesn't add much


http://gerrit.cloudera.org:8080/#/c/20010/5/be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.h@55
PS5, Line 55:   /// Close the Iceberg TableScan
This comment doesn't add much


http://gerrit.cloudera.org:8080/#/c/20010/5/be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.h@58
PS5, Line 58:   Status GetCatalogTable(JNIEnv* env, jobject* jtable);
private?


http://gerrit.cloudera.org:8080/#/c/20010/5/be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.h@60
PS5, Line 60:  protected:
Are there any derived classes from this one? I haven't found any. What's the 
reason having protected members?


http://gerrit.cloudera.org:8080/#/c/20010/5/be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.h@61
PS5, Line 61: tuple_desc_
nit: I think we use ' char around variable names in comments. like 'tuple_desc_'


http://gerrit.cloudera.org:8080/#/c/20010/5/be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.h@67
PS5, Line 67: metadtata
typo


http://gerrit.cloudera.org:8080/#/c/20010/5/be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.h@69
PS5, Line 69:   const string* metadata_table_name_;
does this have to be a pointer? isn't regular string enough?


http://gerrit.cloudera.org:8080/#/c/20010/5/be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.h@73
PS5, Line 73: scoped_ptr
unique_ptr ?


http://gerrit.cloudera.org:8080/#/c/20010/5/be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.cc
File be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.cc:

http://gerrit.cloudera.org:8080/#/c/20010/5/be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.cc@36
PS5, Line 36: table_name_(new 
TTableName(pnode.tnode_->iceberg_scan_metadata_node.tabl

[Impala-ASF-CR] IMPALA-11996: Scanner change for Iceberg metadtata querying

2023-08-22 Thread Impala Public Jenkins (Code Review)
Impala Public Jenkins has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20010 )

Change subject: IMPALA-11996: Scanner change for Iceberg metadtata querying
..


Patch Set 5:

Build Successful

https://jenkins.impala.io/job/gerrit-code-review-checks/13803/ : Initial code 
review checks passed. Use gerrit-verify-dryrun-external or gerrit-verify-dryrun 
to run full precommit tests.


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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0e943cecd77f5ef7af7cd07e2b596f2c5b4331e7
Gerrit-Change-Number: 20010
Gerrit-PatchSet: 5
Gerrit-Owner: Tamas Mate 
Gerrit-Reviewer: Anonymous Coward 
Gerrit-Reviewer: Gabor Kaszab 
Gerrit-Reviewer: Gergely Fürnstáhl 
Gerrit-Reviewer: Impala Public Jenkins 
Gerrit-Reviewer: Tamas Mate 
Gerrit-Reviewer: Zoltan Borok-Nagy 
Gerrit-Comment-Date: Tue, 22 Aug 2023 14:43:07 +
Gerrit-HasComments: No


[Impala-ASF-CR] IMPALA-11996: Scanner change for Iceberg metadtata querying

2023-08-22 Thread Tamas Mate (Code Review)
Tamas Mate has uploaded a new patch set (#5). ( 
http://gerrit.cloudera.org:8080/20010 )

Change subject: IMPALA-11996: Scanner change for Iceberg metadtata querying
..

IMPALA-11996: Scanner change for Iceberg metadtata querying

This commit adds a scan node for querying Iceberg metadata tables. The
method resembles to HBase table scans, the scan is executed with the
help of the Iceberg API and through JNI.

There is only one fragment created to query the Iceberg Metadata table
which is supposed to be executed on the coordinator node that already
has the metadata ready.

This change will not cover struct column types these slots are se to
NULL, it will be done in IMPALA-12205.

Testing:
 - Added e2e tests for querying metadata tables
 - Updated planner tests

Change-Id: I0e943cecd77f5ef7af7cd07e2b596f2c5b4331e7
---
M be/CMakeLists.txt
M be/src/exec/CMakeLists.txt
M be/src/exec/exec-node.cc
A be/src/exec/iceberg-metadata/CMakeLists.txt
A be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.cc
A be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.h
A be/src/exec/iceberg-metadata/iceberg-metadata-table-scanner.cc
A be/src/exec/iceberg-metadata/iceberg-metadata-table-scanner.h
M be/src/scheduling/scheduler.cc
M be/src/service/frontend.cc
M be/src/service/frontend.h
M be/src/util/jni-util.cc
M be/src/util/jni-util.h
M common/thrift/PlanNodes.thrift
M fe/src/main/java/org/apache/impala/analysis/IcebergMetadataTableRef.java
M fe/src/main/java/org/apache/impala/analysis/Path.java
M fe/src/main/java/org/apache/impala/catalog/iceberg/IcebergMetadataTable.java
M fe/src/main/java/org/apache/impala/planner/DistributedPlanner.java
M fe/src/main/java/org/apache/impala/planner/IcebergMetadataScanNode.java
M fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java
M fe/src/main/java/org/apache/impala/planner/SingleNodePlanner.java
M fe/src/main/java/org/apache/impala/service/Frontend.java
M fe/src/main/java/org/apache/impala/service/JniFrontend.java
A 
testdata/data/iceberg_test/iceberg_test_metadata/data/3d481ed88b2941f0-ea338162_1109948289_data.0.parq
A 
testdata/data/iceberg_test/iceberg_test_metadata/data/944a2355e618932f-18f086b6_1283312202_data.0.parq
A 
testdata/data/iceberg_test/iceberg_test_metadata/data/d64ba652b36f2d76-d0752076_883987622_data.0.parq
A 
testdata/data/iceberg_test/iceberg_test_metadata/data/delete-1f43b217940cc094-fedf5156_248998721_data.0.parq
A 
testdata/data/iceberg_test/iceberg_test_metadata/data/delete-bc4b163507d1da6f-a691cf610002_511900219_data.0.parq
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/38e5a1bd-5b7f-4eae-9362-16a2de3c575d-m0.avro
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/7c952273-c5d6-43d2-bb1b-72fbe1555f25-m0.avro
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/88a39285-529f-41a4-bd69-6d2560fac64e-m0.avro
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/ef78f8eb-b2b5-41df-a2a0-7944ac3c38da-m0.avro
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/snap-7858675898458780516-1-ef78f8eb-b2b5-41df-a2a0-7944ac3c38da.avro
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/snap-8283026816932323050-1-38e5a1bd-5b7f-4eae-9362-16a2de3c575d.avro
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/snap-8491702501245661704-1-88a39285-529f-41a4-bd69-6d2560fac64e.avro
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/snap-9046920472784493998-1-7c952273-c5d6-43d2-bb1b-72fbe1555f25.avro
A testdata/data/iceberg_test/iceberg_test_metadata/metadata/v1.metadata.json
A testdata/data/iceberg_test/iceberg_test_metadata/metadata/v2.metadata.json
A testdata/data/iceberg_test/iceberg_test_metadata/metadata/v3.metadata.json
A testdata/data/iceberg_test/iceberg_test_metadata/metadata/v4.metadata.json
A testdata/data/iceberg_test/iceberg_test_metadata/metadata/v5.metadata.json
A testdata/data/iceberg_test/iceberg_test_metadata/metadata/version-hint.txt
M testdata/datasets/functional/functional_schema_template.sql
M testdata/datasets/functional/schema_constraints.csv
M 
testdata/workloads/functional-planner/queries/PlannerTest/iceberg-metadata-table-scan.test
M 
testdata/workloads/functional-query/queries/QueryTest/iceberg-metadata-tables.test
46 files changed, 1,765 insertions(+), 156 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/10/20010/5
--
To view, visit http://gerrit.cloudera.org:8080/20010
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I0e943cecd77f5ef7af7cd07e2b596f2c5b4331e7
Gerrit-Change-Number: 20010
Gerrit-PatchSet: 5
Gerrit-Owner: Tamas Mate 
Gerrit-Reviewer: Anonymous Coward 
Gerrit-Reviewer: Gabor Kaszab 
Gerrit-Reviewer: Gergely Fürnstáhl 
Gerrit-Reviewer: Impala Public Jenkins 
Gerrit-Reviewer: Tamas Mate 
Gerrit-Reviewer: Zolta

[Impala-ASF-CR] IMPALA-11996: Scanner change for Iceberg metadtata querying

2023-08-22 Thread Impala Public Jenkins (Code Review)
Impala Public Jenkins has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20010 )

Change subject: IMPALA-11996: Scanner change for Iceberg metadtata querying
..


Patch Set 4:

Build Failed

https://jenkins.impala.io/job/gerrit-code-review-checks/13802/ : Initial code 
review checks failed. See linked job for details on the failure.


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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0e943cecd77f5ef7af7cd07e2b596f2c5b4331e7
Gerrit-Change-Number: 20010
Gerrit-PatchSet: 4
Gerrit-Owner: Tamas Mate 
Gerrit-Reviewer: Anonymous Coward 
Gerrit-Reviewer: Gabor Kaszab 
Gerrit-Reviewer: Gergely Fürnstáhl 
Gerrit-Reviewer: Impala Public Jenkins 
Gerrit-Reviewer: Tamas Mate 
Gerrit-Reviewer: Zoltan Borok-Nagy 
Gerrit-Comment-Date: Tue, 22 Aug 2023 13:29:21 +
Gerrit-HasComments: No


[Impala-ASF-CR] IMPALA-11996: Scanner change for Iceberg metadtata querying

2023-08-22 Thread Tamas Mate (Code Review)
Tamas Mate has uploaded a new patch set (#4). ( 
http://gerrit.cloudera.org:8080/20010 )

Change subject: IMPALA-11996: Scanner change for Iceberg metadtata querying
..

IMPALA-11996: Scanner change for Iceberg metadtata querying

This commit adds a scan node for querying Iceberg metadata tables. The
method resembles to HBase table scans, the scan is executed with the
help of the Iceberg API and through JNI.

There is only one fragment created to query the Iceberg Metadata table
which is supposed to be executed on the coordinator node that already
has the metadata ready.

This change will not cover struct column types these slots are se to
NULL, it will be done in IMPALA-12205.

Testing:
 - Added e2e tests for querying metadata tables
 - Updated planner tests

Change-Id: I0e943cecd77f5ef7af7cd07e2b596f2c5b4331e7
---
M be/CMakeLists.txt
M be/src/exec/CMakeLists.txt
M be/src/exec/exec-node.cc
A be/src/exec/iceberg-metadata/CMakeLists.txt
A be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.cc
A be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.h
A be/src/exec/iceberg-metadata/iceberg-metadata-table-scanner.cc
A be/src/exec/iceberg-metadata/iceberg-metadata-table-scanner.h
M be/src/scheduling/scheduler.cc
M be/src/service/frontend.cc
M be/src/service/frontend.h
M be/src/util/jni-util.cc
M be/src/util/jni-util.h
M common/thrift/PlanNodes.thrift
M fe/src/main/java/org/apache/impala/analysis/IcebergMetadataTableRef.java
M fe/src/main/java/org/apache/impala/analysis/Path.java
M fe/src/main/java/org/apache/impala/catalog/iceberg/IcebergMetadataTable.java
M fe/src/main/java/org/apache/impala/planner/DistributedPlanner.java
M fe/src/main/java/org/apache/impala/planner/IcebergMetadataScanNode.java
M fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java
M fe/src/main/java/org/apache/impala/planner/SingleNodePlanner.java
M fe/src/main/java/org/apache/impala/service/Frontend.java
M fe/src/main/java/org/apache/impala/service/JniFrontend.java
A 
testdata/data/iceberg_test/iceberg_test_metadata/data/3d481ed88b2941f0-ea338162_1109948289_data.0.parq
A 
testdata/data/iceberg_test/iceberg_test_metadata/data/944a2355e618932f-18f086b6_1283312202_data.0.parq
A 
testdata/data/iceberg_test/iceberg_test_metadata/data/d64ba652b36f2d76-d0752076_883987622_data.0.parq
A 
testdata/data/iceberg_test/iceberg_test_metadata/data/delete-1f43b217940cc094-fedf5156_248998721_data.0.parq
A 
testdata/data/iceberg_test/iceberg_test_metadata/data/delete-bc4b163507d1da6f-a691cf610002_511900219_data.0.parq
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/38e5a1bd-5b7f-4eae-9362-16a2de3c575d-m0.avro
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/7c952273-c5d6-43d2-bb1b-72fbe1555f25-m0.avro
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/88a39285-529f-41a4-bd69-6d2560fac64e-m0.avro
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/ef78f8eb-b2b5-41df-a2a0-7944ac3c38da-m0.avro
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/snap-7858675898458780516-1-ef78f8eb-b2b5-41df-a2a0-7944ac3c38da.avro
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/snap-8283026816932323050-1-38e5a1bd-5b7f-4eae-9362-16a2de3c575d.avro
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/snap-8491702501245661704-1-88a39285-529f-41a4-bd69-6d2560fac64e.avro
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/snap-9046920472784493998-1-7c952273-c5d6-43d2-bb1b-72fbe1555f25.avro
A testdata/data/iceberg_test/iceberg_test_metadata/metadata/v1.metadata.json
A testdata/data/iceberg_test/iceberg_test_metadata/metadata/v2.metadata.json
A testdata/data/iceberg_test/iceberg_test_metadata/metadata/v3.metadata.json
A testdata/data/iceberg_test/iceberg_test_metadata/metadata/v4.metadata.json
A testdata/data/iceberg_test/iceberg_test_metadata/metadata/v5.metadata.json
A testdata/data/iceberg_test/iceberg_test_metadata/metadata/version-hint.txt
M testdata/datasets/functional/functional_schema_template.sql
M testdata/datasets/functional/schema_constraints.csv
M 
testdata/workloads/functional-planner/queries/PlannerTest/iceberg-metadata-table-scan.test
M 
testdata/workloads/functional-query/queries/QueryTest/iceberg-metadata-tables.test
46 files changed, 1,767 insertions(+), 156 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/10/20010/4
--
To view, visit http://gerrit.cloudera.org:8080/20010
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I0e943cecd77f5ef7af7cd07e2b596f2c5b4331e7
Gerrit-Change-Number: 20010
Gerrit-PatchSet: 4
Gerrit-Owner: Tamas Mate 
Gerrit-Reviewer: Anonymous Coward 
Gerrit-Reviewer: Gabor Kaszab 
Gerrit-Reviewer: Gergely Fürnstáhl 
Gerrit-Reviewer: Impala Public Jenkins 
Gerrit-Reviewer: Tamas Mate 
Gerrit-Reviewer: Zolta

[Impala-ASF-CR] IMPALA-11996: Scanner change for Iceberg metadtata querying

2023-08-21 Thread Impala Public Jenkins (Code Review)
Impala Public Jenkins has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20010 )

Change subject: IMPALA-11996: Scanner change for Iceberg metadtata querying
..


Patch Set 3:

Build Failed

https://jenkins.impala.io/job/gerrit-code-review-checks/13791/ : Initial code 
review checks failed. See linked job for details on the failure.


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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0e943cecd77f5ef7af7cd07e2b596f2c5b4331e7
Gerrit-Change-Number: 20010
Gerrit-PatchSet: 3
Gerrit-Owner: Tamas Mate 
Gerrit-Reviewer: Anonymous Coward 
Gerrit-Reviewer: Gabor Kaszab 
Gerrit-Reviewer: Gergely Fürnstáhl 
Gerrit-Reviewer: Impala Public Jenkins 
Gerrit-Reviewer: Tamas Mate 
Gerrit-Reviewer: Zoltan Borok-Nagy 
Gerrit-Comment-Date: Mon, 21 Aug 2023 15:08:01 +
Gerrit-HasComments: No


[Impala-ASF-CR] IMPALA-11996: Scanner change for Iceberg metadtata querying

2023-08-21 Thread Impala Public Jenkins (Code Review)
Impala Public Jenkins has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20010 )

Change subject: IMPALA-11996: Scanner change for Iceberg metadtata querying
..


Patch Set 3:

(11 comments)

http://gerrit.cloudera.org:8080/#/c/20010/3/be/src/exec/iceberg-metadata/iceberg-metadata-table-scanner.h
File be/src/exec/iceberg-metadata/iceberg-metadata-table-scanner.h:

http://gerrit.cloudera.org:8080/#/c/20010/3/be/src/exec/iceberg-metadata/iceberg-metadata-table-scanner.h@115
PS3, Line 115:
line has trailing whitespace


http://gerrit.cloudera.org:8080/#/c/20010/3/be/src/exec/iceberg-metadata/iceberg-metadata-table-scanner.cc
File be/src/exec/iceberg-metadata/iceberg-metadata-table-scanner.cc:

http://gerrit.cloudera.org:8080/#/c/20010/3/be/src/exec/iceberg-metadata/iceberg-metadata-table-scanner.cc@39
PS3, Line 39: 
iceberg_api_scan_timer_(ADD_TIMER(scan_node_->runtime_profile(),
line has trailing whitespace


http://gerrit.cloudera.org:8080/#/c/20010/3/be/src/exec/iceberg-metadata/iceberg-metadata-table-scanner.cc@186
PS3, Line 186: jobject column_field = env->CallObjectMethod(columns, 
list_get_, slot_desc->col_pos());
line too long (91 > 90)


http://gerrit.cloudera.org:8080/#/c/20010/3/be/src/exec/iceberg-metadata/iceberg-metadata-table-scanner.cc@245
PS3, Line 245:   RETURN_IF_ERROR(MaterializeNextRow(env, struct_like_row, 
tuple, state, row_batch->tuple_data_pool()));
line too long (108 > 90)


http://gerrit.cloudera.org:8080/#/c/20010/3/be/src/exec/iceberg-metadata/iceberg-metadata-table-scanner.cc@249
PS3, Line 249:   if 
(ExecNode::EvalConjuncts(scan_node_->conjunct_evals().data(), 
scan_node_->conjunct_evals().size(), tuple_row)) {
line too long (121 > 90)


http://gerrit.cloudera.org:8080/#/c/20010/3/be/src/exec/iceberg-metadata/iceberg-metadata-table-scanner.cc@255
PS3, Line 255: Tuple::ClearNullBits(tuple, 
tuple_desc_->null_bytes_offset(), tuple_desc_->num_null_bytes());
line too long (101 > 90)


http://gerrit.cloudera.org:8080/#/c/20010/3/be/src/exec/iceberg-metadata/iceberg-metadata-table-scanner.cc@263
PS3, Line 263: Status IcebergMetadataTableScanner::MaterializeNextRow(JNIEnv* 
env, jobject struct_like_row,
line too long (92 > 90)


http://gerrit.cloudera.org:8080/#/c/20010/3/be/src/exec/iceberg-metadata/iceberg-metadata-table-scanner.cc@280
PS3, Line 280: RETURN_IF_ERROR(ReadStringValue(env, slot_desc, 
struct_like_row, tuple, tuple_data_pool));
line too long (98 > 90)


http://gerrit.cloudera.org:8080/#/c/20010/3/be/src/service/frontend.cc
File be/src/service/frontend.cc:

http://gerrit.cloudera.org:8080/#/c/20010/3/be/src/service/frontend.cc@110
PS3, Line 110: {"getCatalogTable", 
"([B)Lorg/apache/impala/catalog/FeTable;", &get_catalog_table_id_},
line too long (91 > 90)


http://gerrit.cloudera.org:8080/#/c/20010/3/fe/src/main/java/org/apache/impala/planner/IcebergMetadataScanNode.java
File fe/src/main/java/org/apache/impala/planner/IcebergMetadataScanNode.java:

http://gerrit.cloudera.org:8080/#/c/20010/3/fe/src/main/java/org/apache/impala/planner/IcebergMetadataScanNode.java@40
PS3, Line 40:   private final static Logger LOG = 
LoggerFactory.getLogger(IcebergMetadataScanNode.class);
line too long (91 > 90)


http://gerrit.cloudera.org:8080/#/c/20010/3/fe/src/main/java/org/apache/impala/planner/IcebergMetadataScanNode.java@45
PS3, Line 45:   protected IcebergMetadataScanNode(PlanNodeId id, List 
conjuncts, TableRef tblRef) {
line too long (91 > 90)



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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0e943cecd77f5ef7af7cd07e2b596f2c5b4331e7
Gerrit-Change-Number: 20010
Gerrit-PatchSet: 3
Gerrit-Owner: Tamas Mate 
Gerrit-Reviewer: Anonymous Coward 
Gerrit-Reviewer: Gabor Kaszab 
Gerrit-Reviewer: Gergely Fürnstáhl 
Gerrit-Reviewer: Impala Public Jenkins 
Gerrit-Reviewer: Tamas Mate 
Gerrit-Reviewer: Zoltan Borok-Nagy 
Gerrit-Comment-Date: Mon, 21 Aug 2023 14:43:25 +
Gerrit-HasComments: Yes


[Impala-ASF-CR] IMPALA-11996: Scanner change for Iceberg metadtata querying

2023-08-21 Thread Tamas Mate (Code Review)
Tamas Mate has uploaded a new patch set (#3). ( 
http://gerrit.cloudera.org:8080/20010 )

Change subject: IMPALA-11996: Scanner change for Iceberg metadtata querying
..

IMPALA-11996: Scanner change for Iceberg metadtata querying

This commit adds a scan node for querying Iceberg metadata tables. The
method resembles to HBase table scans, the scan is executed with the
help of the Iceberg API and through JNI.

There is only one fragment created to query the Iceberg Metadata table
which is supposed to be executed on the coordinator node that already
has the metadata ready.

This change will not cover struct column types these slots are se to
NULL, it will be done in IMPALA-12205.

Testing:
 - Added e2e tests for querying metadata tables
 - Updated planner tests

Change-Id: I0e943cecd77f5ef7af7cd07e2b596f2c5b4331e7
---
M be/CMakeLists.txt
M be/src/exec/CMakeLists.txt
M be/src/exec/exec-node.cc
A be/src/exec/iceberg-metadata/CMakeLists.txt
A be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.cc
A be/src/exec/iceberg-metadata/iceberg-metadata-scan-node.h
A be/src/exec/iceberg-metadata/iceberg-metadata-table-scanner.cc
A be/src/exec/iceberg-metadata/iceberg-metadata-table-scanner.h
M be/src/scheduling/scheduler.cc
M be/src/service/frontend.cc
M be/src/service/frontend.h
M be/src/util/jni-util.cc
M be/src/util/jni-util.h
M common/thrift/PlanNodes.thrift
M fe/src/main/java/org/apache/impala/analysis/IcebergMetadataTableRef.java
M fe/src/main/java/org/apache/impala/analysis/Path.java
M fe/src/main/java/org/apache/impala/catalog/iceberg/IcebergMetadataTable.java
M fe/src/main/java/org/apache/impala/planner/DistributedPlanner.java
M fe/src/main/java/org/apache/impala/planner/IcebergMetadataScanNode.java
M fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java
M fe/src/main/java/org/apache/impala/planner/SingleNodePlanner.java
M fe/src/main/java/org/apache/impala/service/Frontend.java
M fe/src/main/java/org/apache/impala/service/JniFrontend.java
A 
testdata/data/iceberg_test/iceberg_test_metadata/data/3d481ed88b2941f0-ea338162_1109948289_data.0.parq
A 
testdata/data/iceberg_test/iceberg_test_metadata/data/944a2355e618932f-18f086b6_1283312202_data.0.parq
A 
testdata/data/iceberg_test/iceberg_test_metadata/data/d64ba652b36f2d76-d0752076_883987622_data.0.parq
A 
testdata/data/iceberg_test/iceberg_test_metadata/data/delete-1f43b217940cc094-fedf5156_248998721_data.0.parq
A 
testdata/data/iceberg_test/iceberg_test_metadata/data/delete-bc4b163507d1da6f-a691cf610002_511900219_data.0.parq
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/38e5a1bd-5b7f-4eae-9362-16a2de3c575d-m0.avro
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/7c952273-c5d6-43d2-bb1b-72fbe1555f25-m0.avro
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/88a39285-529f-41a4-bd69-6d2560fac64e-m0.avro
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/ef78f8eb-b2b5-41df-a2a0-7944ac3c38da-m0.avro
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/snap-7858675898458780516-1-ef78f8eb-b2b5-41df-a2a0-7944ac3c38da.avro
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/snap-8283026816932323050-1-38e5a1bd-5b7f-4eae-9362-16a2de3c575d.avro
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/snap-8491702501245661704-1-88a39285-529f-41a4-bd69-6d2560fac64e.avro
A 
testdata/data/iceberg_test/iceberg_test_metadata/metadata/snap-9046920472784493998-1-7c952273-c5d6-43d2-bb1b-72fbe1555f25.avro
A testdata/data/iceberg_test/iceberg_test_metadata/metadata/v1.metadata.json
A testdata/data/iceberg_test/iceberg_test_metadata/metadata/v2.metadata.json
A testdata/data/iceberg_test/iceberg_test_metadata/metadata/v3.metadata.json
A testdata/data/iceberg_test/iceberg_test_metadata/metadata/v4.metadata.json
A testdata/data/iceberg_test/iceberg_test_metadata/metadata/v5.metadata.json
A testdata/data/iceberg_test/iceberg_test_metadata/metadata/version-hint.txt
M testdata/datasets/functional/functional_schema_template.sql
M testdata/datasets/functional/schema_constraints.csv
M 
testdata/workloads/functional-planner/queries/PlannerTest/iceberg-metadata-table-scan.test
M 
testdata/workloads/functional-query/queries/QueryTest/iceberg-metadata-tables.test
46 files changed, 1,762 insertions(+), 156 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/10/20010/3
--
To view, visit http://gerrit.cloudera.org:8080/20010
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I0e943cecd77f5ef7af7cd07e2b596f2c5b4331e7
Gerrit-Change-Number: 20010
Gerrit-PatchSet: 3
Gerrit-Owner: Tamas Mate 
Gerrit-Reviewer: Anonymous Coward 
Gerrit-Reviewer: Gabor Kaszab 
Gerrit-Reviewer: Gergely Fürnstáhl 
Gerrit-Reviewer: Impala Public Jenkins 
Gerrit-Reviewer: Tamas Mate 
Gerrit-Reviewer: Zolta