You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by mb...@apache.org on 2023/02/24 18:50:55 UTC
[asterixdb] 11/11: Merge branch 'gerrit/neo'
This is an automated email from the ASF dual-hosted git repository.
mblow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git
commit 95ad52066b3538311f83c2cd715cd856b748ad3c
Merge: f4380e5d48 05a9fd4715
Author: Michael Blow <mi...@couchbase.com>
AuthorDate: Fri Feb 24 08:53:45 2023 -0500
Merge branch 'gerrit/neo'
Change-Id: I87a7642c3d1a1a2afa380e03f79b43baa1f208e0
.../asterix/optimizer/base/RuleCollections.java | 10 +-
.../optimizer/rules/ConstantFoldingRule.java | 42 +-
.../optimizer/rules/PushFieldAccessRule.java | 243 ++++++----
.../rules/RemoveOrReplaceDefaultNullCastRule.java | 180 +++++++
...moveUnknownCheckForKnownTypeExpressionRule.java | 121 +++++
.../optimizer/rules/am/AccessMethodUtils.java | 8 +-
.../cast-default-null/cast-default-null-25.sqlpp | 38 ++
.../cast-default-null/cast-default-null-01.plan | 20 +-
.../cast-default-null/cast-default-null-02.plan | 28 +-
.../cast-default-null/cast-default-null-03.plan | 20 +-
.../cast-default-null/cast-default-null-05.plan | 2 +-
.../cast-default-null/cast-default-null-10.plan | 28 +-
.../cast-default-null/cast-default-null-11.plan | 28 +-
.../cast-default-null/cast-default-null-12.plan | 28 +-
.../cast-default-null/cast-default-null-13.plan | 28 +-
.../cast-default-null/cast-default-null-14.plan | 28 +-
.../cast-default-null/cast-default-null-15.plan | 28 +-
.../cast-default-null/cast-default-null-16.plan | 20 +-
.../cast-default-null/cast-default-null-17.plan | 20 +-
.../cast-default-null/cast-default-null-18.plan | 20 +-
.../cast-default-null/cast-default-null-19.plan | 2 +-
.../cast-default-null/cast-default-null-20.plan | 28 +-
.../cast-default-null/cast-default-null-21.plan | 20 +-
.../cast-default-null/cast-default-null-22.plan | 20 +-
.../cast-default-null/cast-default-null-23.plan | 28 +-
.../cast-default-null/cast-default-null-25.plan | 19 +
...join-probe-pidx-with-join-rtree-sidx_01_ps.plan | 86 ++--
...join-probe-pidx-with-join-rtree-sidx_01_ps.plan | 86 ++--
.../view/view-pushdown/view-pushdown.01.ddl.sqlpp | 98 ++++
.../view-pushdown/view-pushdown.02.update.sqlpp | 25 +
.../view-pushdown/view-pushdown.03.query.sqlpp | 32 ++
.../view-pushdown/view-pushdown.04.query.sqlpp | 32 ++
.../view-pushdown/view-pushdown.05.query.sqlpp | 25 +
.../view-pushdown/view-pushdown.06.query.sqlpp | 25 +
.../view-pushdown/view-pushdown.07.query.sqlpp | 32 ++
.../view-pushdown/view-pushdown.08.query.sqlpp | 32 ++
.../view-pushdown/view-pushdown.09.query.sqlpp | 26 +
.../view-pushdown/view-pushdown.10.query.sqlpp | 26 +
.../view-pushdown/view-pushdown.11.query.sqlpp | 32 ++
.../view-pushdown/view-pushdown.12.query.sqlpp | 32 ++
.../view-pushdown/view-pushdown.13.query.sqlpp | 26 +
.../view-pushdown/view-pushdown.14.query.sqlpp | 26 +
.../view/view-pushdown/view-pushdown.03.adm | 3 +
.../view/view-pushdown/view-pushdown.04.plan | 36 ++
.../view/view-pushdown/view-pushdown.05.adm | 3 +
.../view/view-pushdown/view-pushdown.06.plan | 24 +
.../view/view-pushdown/view-pushdown.07.adm | 3 +
.../view/view-pushdown/view-pushdown.08.plan | 28 ++
.../view/view-pushdown/view-pushdown.09.adm | 3 +
.../view/view-pushdown/view-pushdown.10.plan | 28 ++
.../view/view-pushdown/view-pushdown.11.adm | 3 +
.../view/view-pushdown/view-pushdown.12.plan | 28 ++
.../view/view-pushdown/view-pushdown.13.adm | 3 +
.../view/view-pushdown/view-pushdown.14.plan | 28 ++
.../test/resources/runtimets/testsuite_sqlpp.xml | 5 +
asterixdb/asterix-server/pom.xml | 145 ++++--
asterixdb/pom.xml | 6 +-
.../appended-resources/supplemental-models.xml | 523 ++++++++++++++-------
...ntent.com_aws_aws-sdk-java_1.12.402_NOTICE.txt} | 0
...ercontent.com_google_conscrypt_2.5.2_NOTICE.txt | 30 ++
...rator-java_v2.13.0_api-common-java_LICENSE.txt} | 0
...ic-generator-java_v2.13.0_gax-java_LICENSE.txt} | 0
...s_google-auth-library-java_v1.14.0_LICENSE.txt} | 0
...rcontent.com_grpc_grpc-java_v1.50.2_NOTICE.txt} | 0
...rcontent.com_grpc_grpc-java_v1.52.1_NOTICE.txt} | 0
...ontent.com_perfmark_perfmark_v0.26.0_NOTICE.txt | 40 ++
..._protocolbuffers_protobuf_v3.21.12_LICENSE.txt} | 0
...entialFirstRuleCheckFixpointRuleController.java | 2 +-
.../SequentialFixpointRuleController.java | 2 +-
.../SequentialOnceRuleController.java | 2 +-
.../core/rewriter/base/AbstractRuleController.java | 9 +-
.../core/rewriter/base/IAlgebraicRewriteRule.java | 9 +
.../rules/ExtractCommonExpressionsRule.java | 28 +-
.../IPartitionedTupleBufferManager.java | 9 +
.../VPartitionTupleBufferManager.java | 29 +-
.../dataflow/std/join/OptimizedHybridHashJoin.java | 33 +-
76 files changed, 2101 insertions(+), 659 deletions(-)
diff --cc asterixdb/asterix-app/src/test/resources/runtimets/results/view/view-pushdown/view-pushdown.04.plan
index 0000000000,2ad4d606b5..fa32d7cf57
mode 000000,100644..100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/view/view-pushdown/view-pushdown.04.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/view/view-pushdown/view-pushdown.04.plan
@@@ -1,0 -1,34 +1,36 @@@
-distribute result [$$91]
++cardinality: 0.0
++cost: 0.0
++distribute result [$$94] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- DISTRIBUTE_RESULT |UNPARTITIONED|
- exchange
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- project ([$$91])
++ project ([$$94]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |UNPARTITIONED|
- assign [$$91] <- [{"id": $$106, "review": $$111}]
++ assign [$$94] <- [{"id": $$109, "review": $$114}] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ASSIGN |UNPARTITIONED|
- exchange
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- order (ASC, $$106)
- -- STABLE_SORT [$$106(ASC)] |UNPARTITIONED|
- exchange
++ order (ASC, $$109) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
++ -- STABLE_SORT [$$109(ASC)] |UNPARTITIONED|
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- limit 3
++ limit 3 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |UNPARTITIONED|
- exchange
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- RANDOM_MERGE_EXCHANGE |PARTITIONED|
- project ([$$111, $$106])
++ project ([$$114, $$109]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |PARTITIONED|
- assign [$$106] <- [int64-default-null($$d.getField("id"))]
++ assign [$$109] <- [int64-default-null($$d.getField("id"))] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ASSIGN |PARTITIONED|
- limit 3
++ limit 3 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |PARTITIONED|
- assign [$$111] <- [string-default-null($$d.getField("review"))]
++ assign [$$114] <- [string-default-null($$d.getField("review"))] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ASSIGN |PARTITIONED|
- exchange
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$d] <- test.ExternalDataset condition (and(not(is-unknown(int64-default-null($$d.getField("year")))), not(is-unknown(int64-default-null($$d.getField("quarter")))), eq(string-default-null($$d.getField("review")), "good"))) limit 3
++ data-scan []<-[$$d] <- test.ExternalDataset condition (and(not(is-unknown(int64-default-null($$d.getField("year")))), not(is-unknown(int64-default-null($$d.getField("quarter")))), eq(string-default-null($$d.getField("review")), "good"))) limit 3 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- DATASOURCE_SCAN |PARTITIONED|
- exchange
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- empty-tuple-source
++ empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
diff --cc asterixdb/asterix-app/src/test/resources/runtimets/results/view/view-pushdown/view-pushdown.06.plan
index 0000000000,a8465a50a2..3786198b77
mode 000000,100644..100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/view/view-pushdown/view-pushdown.06.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/view/view-pushdown/view-pushdown.06.plan
@@@ -1,0 -1,22 +1,24 @@@
-distribute result [$$67]
++cardinality: 0.0
++cost: 0.0
++distribute result [$$69] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- DISTRIBUTE_RESULT |UNPARTITIONED|
- exchange
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- limit 3
++ limit 3 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |UNPARTITIONED|
- exchange
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- RANDOM_MERGE_EXCHANGE |PARTITIONED|
- project ([$$67])
++ project ([$$69]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |PARTITIONED|
- assign [$$67] <- [{"id": int64-default-null($$d.getField("id")), "review": string-default-null($$d.getField("review"))}]
++ assign [$$69] <- [{"id": int64-default-null($$d.getField("id")), "review": string-default-null($$d.getField("review"))}] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ASSIGN |PARTITIONED|
- limit 3
++ limit 3 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |PARTITIONED|
- exchange
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$d] <- test.ExternalDataset limit 3
++ data-scan []<-[$$d] <- test.ExternalDataset limit 3 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- DATASOURCE_SCAN |PARTITIONED|
- exchange
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- empty-tuple-source
++ empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
diff --cc asterixdb/asterix-app/src/test/resources/runtimets/results/view/view-pushdown/view-pushdown.08.plan
index 0000000000,a74c18ea17..0aa5d96b66
mode 000000,100644..100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/view/view-pushdown/view-pushdown.08.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/view/view-pushdown/view-pushdown.08.plan
@@@ -1,0 -1,26 +1,28 @@@
-distribute result [$$85]
++cardinality: 0.0
++cost: 0.0
++distribute result [$$88] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- DISTRIBUTE_RESULT |UNPARTITIONED|
- exchange
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- project ([$$85])
++ project ([$$88]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |UNPARTITIONED|
- assign [$$85] <- [{"id": $$88, "review": $$92}]
++ assign [$$88] <- [{"id": $$91, "review": $$95}] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ASSIGN |UNPARTITIONED|
- limit 3
++ limit 3 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |UNPARTITIONED|
- exchange
- -- SORT_MERGE_EXCHANGE [$$88(ASC) ] |PARTITIONED|
- limit 3
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
++ -- SORT_MERGE_EXCHANGE [$$91(ASC) ] |PARTITIONED|
++ limit 3 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |PARTITIONED|
- project ([$$88, $$92])
++ project ([$$91, $$95]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |PARTITIONED|
- assign [$$92] <- [$$d.getField(1)]
++ assign [$$95] <- [$$d.getField(1)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ASSIGN |PARTITIONED|
- exchange
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$88, $$d] <- test.DatasetWithKnownField condition (and(not(is-unknown(int64-default-null($$d.getField("year")))), not(is-unknown(int64-default-null($$d.getField("quarter")))), eq($$d.getField(1), "good"))) limit 3
++ data-scan []<-[$$91, $$d] <- test.DatasetWithKnownField condition (and(not(is-unknown(int64-default-null($$d.getField("year")))), not(is-unknown(int64-default-null($$d.getField("quarter")))), eq($$d.getField(1), "good"))) limit 3 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- DATASOURCE_SCAN |PARTITIONED|
- exchange
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- empty-tuple-source
++ empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
diff --cc asterixdb/asterix-app/src/test/resources/runtimets/results/view/view-pushdown/view-pushdown.10.plan
index 0000000000,cc8d1c5e5b..64791b14b0
mode 000000,100644..100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/view/view-pushdown/view-pushdown.10.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/view/view-pushdown/view-pushdown.10.plan
@@@ -1,0 -1,26 +1,28 @@@
-distribute result [$$61]
++cardinality: 0.0
++cost: 0.0
++distribute result [$$63] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- DISTRIBUTE_RESULT |UNPARTITIONED|
- exchange
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- limit 3
++ limit 3 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |UNPARTITIONED|
- project ([$$61])
++ project ([$$63]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |PARTITIONED|
- assign [$$61] <- [{"id": $$63, "review": $$67}]
++ assign [$$63] <- [{"id": $$65, "review": $$69}] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ASSIGN |PARTITIONED|
- exchange
- -- SORT_MERGE_EXCHANGE [$$63(ASC) ] |PARTITIONED|
- project ([$$63, $$67])
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
++ -- SORT_MERGE_EXCHANGE [$$65(ASC) ] |PARTITIONED|
++ project ([$$65, $$69]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |PARTITIONED|
- assign [$$67] <- [$$d.getField(1)]
++ assign [$$69] <- [$$d.getField(1)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ASSIGN |PARTITIONED|
- limit 3
++ limit 3 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |PARTITIONED|
- exchange
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$63, $$d] <- test.DatasetWithKnownField limit 3
++ data-scan []<-[$$65, $$d] <- test.DatasetWithKnownField limit 3 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- DATASOURCE_SCAN |PARTITIONED|
- exchange
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- empty-tuple-source
++ empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
diff --cc asterixdb/asterix-app/src/test/resources/runtimets/results/view/view-pushdown/view-pushdown.12.plan
index 0000000000,149c739074..5038ac52e8
mode 000000,100644..100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/view/view-pushdown/view-pushdown.12.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/view/view-pushdown/view-pushdown.12.plan
@@@ -1,0 -1,26 +1,28 @@@
-distribute result [$$91]
++cardinality: 0.0
++cost: 0.0
++distribute result [$$94] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- DISTRIBUTE_RESULT |UNPARTITIONED|
- exchange
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- project ([$$91])
++ project ([$$94]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |UNPARTITIONED|
- assign [$$91] <- [{"id": $$94, "review": $$98}]
++ assign [$$94] <- [{"id": $$97, "review": $$101}] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ASSIGN |UNPARTITIONED|
- limit 3
++ limit 3 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |UNPARTITIONED|
- exchange
- -- SORT_MERGE_EXCHANGE [$$94(ASC) ] |PARTITIONED|
- limit 3
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
++ -- SORT_MERGE_EXCHANGE [$$97(ASC) ] |PARTITIONED|
++ limit 3 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |PARTITIONED|
- project ([$$94, $$98])
++ project ([$$97, $$101]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |PARTITIONED|
- assign [$$98] <- [$$d.getField(1)]
++ assign [$$101] <- [$$d.getField(1)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ASSIGN |PARTITIONED|
- exchange
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$94, $$d] <- test.DatasetWithKnownField condition (and(not(is-unknown(int64-default-null($$d.getField("year")))), not(is-unknown(int64-default-null($$d.getField("quarter")))), eq($$d.getField(1), "good"))) limit 3
++ data-scan []<-[$$97, $$d] <- test.DatasetWithKnownField condition (and(not(is-unknown(int64-default-null($$d.getField("year")))), not(is-unknown(int64-default-null($$d.getField("quarter")))), eq($$d.getField(1), "good"))) limit 3 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- DATASOURCE_SCAN |PARTITIONED|
- exchange
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- empty-tuple-source
++ empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
diff --cc asterixdb/asterix-app/src/test/resources/runtimets/results/view/view-pushdown/view-pushdown.14.plan
index 0000000000,911a1c8b54..0081abec6b
mode 000000,100644..100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/view/view-pushdown/view-pushdown.14.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/view/view-pushdown/view-pushdown.14.plan
@@@ -1,0 -1,26 +1,28 @@@
-distribute result [$$67]
++cardinality: 0.0
++cost: 0.0
++distribute result [$$69] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- DISTRIBUTE_RESULT |UNPARTITIONED|
- exchange
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- limit 3
++ limit 3 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |UNPARTITIONED|
- project ([$$67])
++ project ([$$69]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |PARTITIONED|
- assign [$$67] <- [{"id": $$69, "review": $$73}]
++ assign [$$69] <- [{"id": $$71, "review": $$75}] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ASSIGN |PARTITIONED|
- exchange
- -- SORT_MERGE_EXCHANGE [$$69(ASC) ] |PARTITIONED|
- project ([$$69, $$73])
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
++ -- SORT_MERGE_EXCHANGE [$$71(ASC) ] |PARTITIONED|
++ project ([$$71, $$75]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |PARTITIONED|
- assign [$$73] <- [$$d.getField(1)]
++ assign [$$75] <- [$$d.getField(1)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ASSIGN |PARTITIONED|
- limit 3
++ limit 3 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_LIMIT |PARTITIONED|
- exchange
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$69, $$d] <- test.DatasetWithKnownField limit 3
++ data-scan []<-[$$71, $$d] <- test.DatasetWithKnownField limit 3 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- DATASOURCE_SCAN |PARTITIONED|
- exchange
++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- empty-tuple-source
++ empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
diff --cc asterixdb/asterix-server/pom.xml
index c82384df41,fb1c2f16cc..c15152aea5
--- a/asterixdb/asterix-server/pom.xml
+++ b/asterixdb/asterix-server/pom.xml
@@@ -342,21 -342,29 +342,35 @@@
</override>
<override>
<gavs>
- <gav>com.google.cloud:google-cloud-core:2.8.0</gav>
- <gav>com.google.cloud:google-cloud-core-http:2.8.0</gav>
+ <gav>com.google.cloud:google-cloud-core:2.9.4</gav>
+ <gav>com.google.cloud:google-cloud-core-http:2.9.4</gav>
+ <gav>com.google.cloud:google-cloud-core-grpc:2.9.4</gav>
</gavs>
- <url>https://raw.githubusercontent.com/googleapis/java-core/v2.8.0/LICENSE</url>
+ <url>https://raw.githubusercontent.com/googleapis/java-core/v2.9.4/LICENSE</url>
</override>
<override>
- <gav>com.google.cloud:google-cloud-storage:2.9.0</gav>
- <url>https://raw.githubusercontent.com/googleapis/java-storage/v2.9.0/LICENSE</url>
+ <gav>com.google.cloud:google-cloud-storage:2.17.2</gav>
+ <gav>com.google.api.grpc:gapic-google-cloud-storage-v2:2.17.2-alpha</gav>
+ <gav>com.google.api.grpc:proto-google-cloud-storage-v2:2.17.2-alpha</gav>
+ <gav>com.google.api.grpc:grpc-google-cloud-storage-v2:2.17.2-alpha</gav>
+ <url>https://raw.githubusercontent.com/googleapis/java-storage/v2.17.2/LICENSE</url>
+ </override>
+ <override>
+ <gav>com.google.api.grpc:proto-google-cloud-monitoring-v3:1.64.0</gav>
+ <url>https://raw.githubusercontent.com/googleapis/googleapis/master/LICENSE</url>
+ </override>
+ <override>
+ <gavs>
+ <gav>io.opencensus:opencensus-proto:0.2.0</gav>
+ </gavs>
+ <url>https://raw.githubusercontent.com/census-instrumentation/opencensus-proto/v0.2.0/LICENSE</url>
</override>
+ <override>
+ <gavs>
+ <gav>io.opencensus:opencensus-proto:0.2.0</gav>
+ </gavs>
+ <url>https://raw.githubusercontent.com/census-instrumentation/opencensus-proto/v0.2.0/LICENSE</url>
+ </override>
<override>
<gavs>
<gav>io.opencensus:opencensus-api:0.31.1</gav>
@@@ -419,27 -433,23 +439,40 @@@
<gav>com.google.j2objc:j2objc-annotations:1.3</gav>
<url>https://raw.githubusercontent.com/google/j2objc/1.3/LICENSE</url>
</override>
+ <override>
+ <gavs>
+ <gav>io.grpc:grpc-alts:1.43.2</gav>
+ <gav>io.grpc:grpc-api:1.43.2</gav>
+ <gav>io.grpc:grpc-auth:1.43.2</gav>
+ <gav>io.grpc:grpc-census:1.43.2</gav>
+ <gav>io.grpc:grpc-core:1.43.2</gav>
+ <gav>io.grpc:grpc-grpclb:1.43.2</gav>
+ <gav>io.grpc:grpc-protobuf-lite:1.43.2</gav>
+ <gav>io.grpc:grpc-protobuf:1.43.2</gav>
+ <gav>io.grpc:grpc-services:1.43.2</gav>
+ <gav>io.grpc:grpc-stub:1.43.2</gav>
+ <gav>io.grpc:grpc-xds:1.43.2</gav>
+ </gavs>
+ <url>https://raw.githubusercontent.com/grpc/grpc-java/v1.43.2/LICENSE</url>
+ <noticeUrl>https://raw.githubusercontent.com/grpc/grpc-java/v1.43.2/NOTICE.txt</noticeUrl>
+ </override>
<override>
- <gav>io.grpc:grpc-context:1.47.0</gav>
- <url>https://raw.githubusercontent.com/grpc/grpc-java/v1.47.0/LICENSE</url>
- <noticeUrl>https://raw.githubusercontent.com/grpc/grpc-java/v1.47.0/NOTICE.txt</noticeUrl>
+ <gavs>
+ <gav>io.grpc:grpc-alts:1.52.1</gav>
+ <gav>io.grpc:grpc-api:1.52.1</gav>
+ <gav>io.grpc:grpc-auth:1.52.1</gav>
+ <gav>io.grpc:grpc-context:1.52.1</gav>
+ <gav>io.grpc:grpc-core:1.52.1</gav>
+ <gav>io.grpc:grpc-grpclb:1.52.1</gav>
+ <gav>io.grpc:grpc-googleapis:1.52.1</gav>
+ <gav>io.grpc:grpc-protobuf-lite:1.52.1</gav>
+ <gav>io.grpc:grpc-protobuf:1.52.1</gav>
+ <gav>io.grpc:grpc-services:1.52.1</gav>
+ <gav>io.grpc:grpc-stub:1.52.1</gav>
+ <gav>io.grpc:grpc-xds:1.52.1</gav>
+ </gavs>
+ <url>https://raw.githubusercontent.com/grpc/grpc-java/v1.52.1/LICENSE</url>
+ <noticeUrl>https://raw.githubusercontent.com/grpc/grpc-java/v1.52.1/NOTICE.txt</noticeUrl>
</override>
<override>
<gav>org.mindrot:jbcrypt:0.4</gav>
@@@ -457,68 -467,16 +490,78 @@@
<gav>org.slf4j:slf4j-reload4j:1.7.36</gav>
<url>https://raw.githubusercontent.com/qos-ch/slf4j/v_1.7.36/LICENSE.txt</url>
</override>
+ <override>
+ <gav>org.conscrypt:conscrypt-openjdk-uber:2.5.1</gav>
+ <url>https://raw.githubusercontent.com/google/conscrypt/2.5.1/LICENSE</url>
+ <noticeUrl>https://raw.githubusercontent.com/google/conscrypt/2.5.1/NOTICE</noticeUrl>
+ </override>
+ <override>
+ <gav>io.perfmark:perfmark-api:0.26.0</gav>
+ <url>https://raw.githubusercontent.com/perfmark/perfmark/v0.26.0/LICENSE</url>
+ <noticeUrl>https://raw.githubusercontent.com/perfmark/perfmark/v0.26.0/NOTICE</noticeUrl>
+ </override>
+ <override>
+ <gavs>
+ <gav>com.google.cloud.bigdataoss:gcs-connector:hadoop3-2.2.6</gav>
+ <gav>com.google.cloud.bigdataoss:gcsio:2.2.6</gav>
+ <gav>com.google.cloud.bigdataoss:util-hadoop:hadoop3-2.2.6</gav>
+ <gav>com.google.cloud.bigdataoss:util:2.2.6</gav>
+ </gavs>
+ <url>https://raw.githubusercontent.com/GoogleCloudDataproc/hadoop-connectors/v2.2.6/LICENSE</url>
+ </override>
+ <override>
+ <gavs>
+ <gav>com.google.flogger:flogger:0.7.1</gav>
+ <gav>com.google.flogger:google-extensions:0.7.1</gav>
+ <gav>com.google.flogger:flogger-system-backend:0.7.1</gav>
+ </gavs>
+ <url>https://raw.githubusercontent.com/google/flogger/flogger-0.7.1/LICENSE</url>
+ </override>
+ <override>
+ <gavs>
+ <gav>com.google.api.grpc:proto-google-cloud-monitoring-v3:1.64.0</gav>
+ <gav>com.google.api.grpc:proto-google-cloud-storage-v2:2.2.2-alpha</gav>
+ <gav>com.google.api.grpc:grpc-google-cloud-storage-v2:2.2.2-alpha</gav>
+ </gavs>
+ <url>https://raw.githubusercontent.com/googleapis/googleapis/master/LICENSE</url>
+ </override>
+ <override>
+ <gav>com.lmax:disruptor:3.4.2</gav>
+ <url>https://raw.githubusercontent.com/LMAX-Exchange/disruptor/3.4.2/LICENCE.txt</url>
+ </override>
+ <override>
+ <gav>com.google.cloud:google-cloud-core-grpc:1.82.0</gav>
+ <url>https://raw.githubusercontent.com/googleapis/java-core/v1.82.0/LICENSE</url>
+ </override>
+ <override>
+ <gav>com.google.cloud:google-cloud-monitoring:1.82.0</gav>
+ <url>https://raw.githubusercontent.com/googleapis/java-monitoring/1.82.0/LICENSE</url>
+ </override>
+ <override>
+ <gav>com.google.api-client:google-api-client-jackson2:1.32.2</gav>
+ <url>https://raw.githubusercontent.com/googleapis/google-api-java-client/v1.32.2/LICENSE</url>
+ </override>
+ <override>
+ <gav>org.conscrypt:conscrypt-openjdk-uber:2.5.1</gav>
+ <url>https://raw.githubusercontent.com/google/conscrypt/2.5.1/LICENSE</url>
+ <noticeUrl>https://raw.githubusercontent.com/google/conscrypt/2.5.1/NOTICE</noticeUrl>
+ </override>
+ <override>
+ <gav>io.perfmark:perfmark-api:0.23.0</gav>
+ <url>https://raw.githubusercontent.com/perfmark/perfmark/v0.23.0/LICENSE</url>
+ <noticeUrl>https://raw.githubusercontent.com/perfmark/perfmark/v0.23.0/NOTICE</noticeUrl>
+ </override>
+ <override>
+ <gav>com.google.api:gax-grpc:2.7.1</gav>
+ <url>https://raw.githubusercontent.com/googleapis/gax-java/v2.7.1/LICENSE</url>
+ </override>
+ <override>
+ <gavs>
+ <gav>org.bouncycastle:bcprov-jdk15on:1.60</gav>
+ <gav>org.bouncycastle:bcpkix-jdk15on:1.60</gav>
+ </gavs>
+ <url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv60/LICENSE.html</url>
+ </override>
</overrides>
<licenses>
<license>
@@@ -570,22 -526,16 +611,30 @@@
<aliasUrl>https://raw.githubusercontent.com/census-instrumentation/opencensus-java/v0.31.0/LICENSE</aliasUrl>
<aliasUrl>https://raw.githubusercontent.com/census-instrumentation/opencensus-java/v0.31.1/LICENSE</aliasUrl>
<aliasUrl>https://raw.githubusercontent.com/census-instrumentation/opencensus-proto/v0.2.0/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/google/conscrypt/2.5.2/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/googleapis/googleapis/master/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/perfmark/perfmark/v0.26.0/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/googleapis/google-http-java-client/v1.42.3/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/google/conscrypt/2.5.1/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/google/flogger/flogger-0.7.1/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/googleapis/google-api-java-client/v1.32.2/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/googleapis/google-api-java-client/v1.35.1/LICENSE</aliasUrl>
- <aliasUrl>https://raw.githubusercontent.com/googleapis/googleapis/master/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/googleapis/java-core/v1.82.0/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/googleapis/java-monitoring/1.82.0/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/GoogleCloudDataproc/hadoop-connectors/v2.2.6/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/LMAX-Exchange/disruptor/3.4.2/LICENCE.txt</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/perfmark/perfmark/v0.23.0/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/grpc/grpc-java/v1.43.2/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/grpc/grpc-java/v1.47.0/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/googleapis/google-http-java-client/v1.42.0/LICENSE</aliasUrl>
<aliasUrl>https://raw.githubusercontent.com/googleapis/google-oauth-java-client/v1.34.1/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/googleapis/java-core/v2.9.4/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/google/gson/gson-parent-2.10.1/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/googleapis/gapic-generator-java/v2.13.0/java-common-protos/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/googleapis/google-api-java-client/v2.1.2/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/grpc/grpc-java/v1.52.1/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/googleapis/java-core/v2.8.0/LICENSE</aliasUrl>
+ <aliasUrl>https://raw.githubusercontent.com/google/gson/gson-parent-2.9.0/LICENSE</aliasUrl>
</aliasUrls>
<metric>1</metric>
</license>
diff --cc asterixdb/pom.xml
index 4b7fd8e4b5,6e198a7e3d..ea91efc0d1
--- a/asterixdb/pom.xml
+++ b/asterixdb/pom.xml
@@@ -89,12 -89,11 +89,12 @@@
<log4j.version>2.19.0</log4j.version>
<awsjavasdk.version>2.17.218</awsjavasdk.version>
<parquet.version>1.12.3</parquet.version>
- <hadoop-awsjavasdk.version>1.12.109</hadoop-awsjavasdk.version>
+ <hadoop-awsjavasdk.version>1.12.402</hadoop-awsjavasdk.version>
<azureblobjavasdk.version>12.14.2</azureblobjavasdk.version>
<azuredatalakejavasdk.version>12.7.2</azuredatalakejavasdk.version>
- <gcsjavasdk.version>2.9.0</gcsjavasdk.version>
+ <gcsjavasdk.version>2.17.2</gcsjavasdk.version>
<hadoop-azuresdk.version>8.6.6</hadoop-azuresdk.version>
+ <hadoop-gcs.version>hadoop3-2.2.6</hadoop-gcs.version>
<implementation.title>Apache AsterixDB - ${project.name}</implementation.title>
<implementation.url>https://asterixdb.apache.org/</implementation.url>
diff --cc asterixdb/src/main/appended-resources/supplemental-models.xml
index f196fb231a,18508ef66a..ae9f9fd88c
--- a/asterixdb/src/main/appended-resources/supplemental-models.xml
+++ b/asterixdb/src/main/appended-resources/supplemental-models.xml
@@@ -1237,6 -1237,6 +1262,32 @@@
</project>
</supplement>
++ <!-- io.opencensus uses ALv2 with no NOTICE file -->
++ <supplement>
++ <project>
++ <groupId>io.opencensus</groupId>
++ <artifactId>opencensus-contrib-exemplar-util</artifactId>
++ <properties>
++ <license.ignoreMissingEmbeddedLicense>0.31.0</license.ignoreMissingEmbeddedLicense>
++ <license.ignoreMissingEmbeddedNotice>0.31.0</license.ignoreMissingEmbeddedNotice>
++ <license.ignoreLicenseOverride>0.31.0</license.ignoreLicenseOverride>
++ </properties>
++ </project>
++ </supplement>
++
++ <!-- io.opencensus uses ALv2 with no NOTICE file -->
++ <supplement>
++ <project>
++ <groupId>io.opencensus</groupId>
++ <artifactId>opencensus-contrib-grpc-metrics</artifactId>
++ <properties>
++ <license.ignoreMissingEmbeddedLicense>0.31.0</license.ignoreMissingEmbeddedLicense>
++ <license.ignoreMissingEmbeddedNotice>0.31.0</license.ignoreMissingEmbeddedNotice>
++ <license.ignoreLicenseOverride>0.31.0</license.ignoreLicenseOverride>
++ </properties>
++ </project>
++ </supplement>
++
<!-- io.opencensus uses non-fixed ALv2 with no NOTICE file -->
<supplement>
<project>
@@@ -1250,316 -1250,121 +1301,354 @@@
</project>
</supplement>
+ <!-- com.google.api.grpc uses ALv2 with no NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>com.google.api.grpc</groupId>
+ <artifactId>gapic-google-cloud-storage-v2</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>2.17.2-alpha</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>2.17.2-alpha</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>2.17.2-alpha</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- com.google.api.grpc uses ALv2 with no NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>com.google.api.grpc</groupId>
+ <artifactId>grpc-google-cloud-storage-v2</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>2.17.2-alpha</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>2.17.2-alpha</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>2.17.2-alpha</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- com.google.api.grpc uses ALv2 with no NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>com.google.api.grpc</groupId>
+ <artifactId>proto-google-cloud-storage-v2</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>2.17.2-alpha</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>2.17.2-alpha</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>2.17.2-alpha</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- org.conscrypt uses ALv2 LICENSE and has a NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>org.conscrypt</groupId>
+ <artifactId>conscrypt-openjdk-uber</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>2.5.2</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>2.5.2</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>2.5.2</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- io.perfmark uses ALv2 license -->
+ <supplement>
+ <project>
+ <groupId>io.perfmark</groupId>
+ <artifactId>perfmark-api</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>0.26.0</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>0.26.0</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>0.26.0</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- org.codehaus.mojo:animal-sniffer-annotations uses MIT license -->
+ <supplement>
+ <project>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>animal-sniffer-annotations</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>1.22</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>1.22</license.ignoreMissingEmbeddedNotice>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- com.google.apis:google-api-services-iamcredentials has embedded ASLv2 in pom.xml -->
+ <supplement>
+ <project>
+ <groupId>com.google.apis</groupId>
+ <artifactId>google-api-services-iamcredentials</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>v1-rev20210326-1.32.1</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>v1-rev20210326-1.32.1</license.ignoreMissingEmbeddedNotice>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- com.google.apis:google-api-services-iamcredentials has embedded ASLv2 in pom.xml -->
+ <supplement>
+ <project>
+ <groupId>com.google.api</groupId>
+ <artifactId>gax-grpc</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>2.22.0</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>2.22.0</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>2.22.0</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- com.google.cloud uses ALv2 with no NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>com.google.cloud</groupId>
+ <artifactId>google-cloud-core-grpc</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>2.9.4</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>2.9.4</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>2.9.4</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- io.opencensus uses ALv2 with no NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>io.opencensus</groupId>
+ <artifactId>opencensus-contrib-resource-util</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>0.31.0</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>0.31.0</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>0.31.0</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- io.opencensus uses ALv2 with no NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>io.opencensus</groupId>
+ <artifactId>opencensus-exporter-metrics-util</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>0.31.0</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>0.31.0</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>0.31.0</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- io.opencensus uses ALv2 with no NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>io.opencensus</groupId>
+ <artifactId>opencensus-exporter-stats-stackdriver</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>0.31.0</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>0.31.0</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>0.31.0</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- io.opencensus uses ALv2 with no NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>io.opencensus</groupId>
+ <artifactId>opencensus-impl-core</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>0.31.0</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>0.31.0</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>0.31.0</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- io.opencensus uses ALv2 with no NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>io.opencensus</groupId>
+ <artifactId>opencensus-impl</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>0.31.0</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>0.31.0</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>0.31.0</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- com.google.cloud.bigdataoss uses ALv2 with no NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>com.google.cloud.bigdataoss</groupId>
+ <artifactId>gcs-connector</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>hadoop3-2.2.6</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>hadoop3-2.2.6</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>hadoop3-2.2.6</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- com.google.cloud.bigdataoss uses ALv2 with no NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>com.google.cloud.bigdataoss</groupId>
+ <artifactId>gcsio</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>2.2.6</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>2.2.6</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>2.2.6</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- com.google.cloud.bigdataoss uses ALv2 with no NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>com.google.cloud.bigdataoss</groupId>
+ <artifactId>util-hadoop</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>hadoop3-2.2.6</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>hadoop3-2.2.6</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>hadoop3-2.2.6</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- com.google.cloud.bigdataoss uses ALv2 with no NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>com.google.cloud.bigdataoss</groupId>
+ <artifactId>util</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>2.2.6</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>2.2.6</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>2.2.6</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- com.google.flogger uses ALv2 with no NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>com.google.flogger</groupId>
+ <artifactId>flogger</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>0.7.1</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>0.7.1</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>0.7.1</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- com.google.flogger uses ALv2 with no NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>com.google.flogger</groupId>
+ <artifactId>google-extensions</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>0.7.1</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>0.7.1</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>0.7.1</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- com.google.flogger uses ALv2 with no NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>com.google.flogger</groupId>
+ <artifactId>flogger-system-backend</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>0.7.1</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>0.7.1</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>0.7.1</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- com.google.api.grpc uses ALv2 with no NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>com.google.api.grpc</groupId>
+ <artifactId>proto-google-cloud-monitoring-v3</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>1.64.0</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>1.64.0</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>1.64.0</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
- <!-- com.google.api.grpc uses ALv2 with no NOTICE file -->
- <supplement>
- <project>
- <groupId>com.google.api.grpc</groupId>
- <artifactId>grpc-google-cloud-storage-v2</artifactId>
- <properties>
- <license.ignoreMissingEmbeddedLicense>2.2.2-alpha</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>2.2.2-alpha</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>2.2.2-alpha</license.ignoreLicenseOverride>
- </properties>
- </project>
- </supplement>
-
- <!-- com.google.api.grpc uses ALv2 with no NOTICE file -->
- <supplement>
- <project>
- <groupId>com.google.api.grpc</groupId>
- <artifactId>proto-google-cloud-storage-v2</artifactId>
- <properties>
- <license.ignoreMissingEmbeddedLicense>2.2.2-alpha</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>2.2.2-alpha</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>2.2.2-alpha</license.ignoreLicenseOverride>
- </properties>
- </project>
- </supplement>
-
+ <!-- com.lmax uses ALv2 with no NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>com.lmax</groupId>
+ <artifactId>disruptor</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>3.4.2</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>3.4.2</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>3.4.2</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
- <!-- com.google.cloud uses ALv2 with no NOTICE file -->
- <supplement>
- <project>
- <groupId>com.google.cloud</groupId>
- <artifactId>google-cloud-core-grpc</artifactId>
- <properties>
- <license.ignoreMissingEmbeddedLicense>1.82.0</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>1.82.0</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>1.82.0</license.ignoreLicenseOverride>
- </properties>
- </project>
- </supplement>
-
+ <!-- com.google.cloud uses ALv2 with no NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>com.google.cloud</groupId>
+ <artifactId>google-cloud-monitoring</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>1.82.0</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>1.82.0</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>1.82.0</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
+ <!-- com.google.api-client uses ALv2 LICENSE and has a NOTICE file -->
+ <supplement>
+ <project>
+ <groupId>com.google.api-client</groupId>
+ <artifactId>google-api-client-jackson2</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>1.32.2</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>1.32.2</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>1.32.2</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
- <!-- org.conscrypt uses ALv2 LICENSE and has a NOTICE file -->
- <supplement>
- <project>
- <groupId>org.conscrypt</groupId>
- <artifactId>conscrypt-openjdk-uber</artifactId>
- <properties>
- <license.ignoreMissingEmbeddedLicense>2.5.1</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>2.5.1</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>2.5.1</license.ignoreLicenseOverride>
- </properties>
- </project>
- </supplement>
-
+ <!-- io.perfmark uses ALv2 license -->
+ <supplement>
+ <project>
+ <groupId>io.perfmark</groupId>
+ <artifactId>perfmark-api</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>0.23.0</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>0.23.0</license.ignoreMissingEmbeddedNotice>
+ <license.ignoreLicenseOverride>0.23.0</license.ignoreLicenseOverride>
+ </properties>
+ </project>
+ </supplement>
+
- <!-- org.codehaus.mojo:animal-sniffer-annotations uses MIT license -->
- <supplement>
- <project>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>animal-sniffer-annotations</artifactId>
- <properties>
- <license.ignoreMissingEmbeddedLicense>1.19</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>1.19</license.ignoreMissingEmbeddedNotice>
- </properties>
- </project>
- </supplement>
-
+ <!-- com.google.apis:google-api-services-iamcredentials has embedded ASLv2 in pom.xml -->
+ <supplement>
+ <project>
+ <groupId>com.google.apis</groupId>
+ <artifactId>google-api-services-iamcredentials</artifactId>
+ <properties>
+ <license.ignoreMissingEmbeddedLicense>v1-rev20210326-1.32.1</license.ignoreMissingEmbeddedLicense>
+ <license.ignoreMissingEmbeddedNotice>v1-rev20210326-1.32.1</license.ignoreMissingEmbeddedNotice>
+ </properties>
+ </project>
+ </supplement>
+
- <!-- com.google.apis:google-api-services-iamcredentials has embedded ASLv2 in pom.xml -->
- <supplement>
- <project>
- <groupId>com.google.api</groupId>
- <artifactId>gax-grpc</artifactId>
- <properties>
- <license.ignoreMissingEmbeddedLicense>2.7.1</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>2.7.1</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>2.7.1</license.ignoreLicenseOverride>
- </properties>
- </project>
- </supplement>
-
<!-- com.google.cloud:google-cloud-core is non-fixed ALv2 with no NOTICE file -->
<supplement>
<project>
@@@ -1631,9 -1436,9 +1720,10 @@@
<groupId>io.grpc</groupId>
<artifactId>grpc-api</artifactId>
<properties>
- <license.ignoreMissingEmbeddedLicense>1.43.2</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>1.43.2</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>1.43.2</license.ignoreLicenseOverride>
- <license.ignoreMissingEmbeddedLicense>1.52.1</license.ignoreMissingEmbeddedLicense>
- <license.ignoreMissingEmbeddedNotice>1.52.1</license.ignoreMissingEmbeddedNotice>
- <license.ignoreLicenseOverride>1.52.1</license.ignoreLicenseOverride>
++ <license.ignoreMissingEmbeddedLicense>1.43.2,1.52.1</license.ignoreMissingEmbeddedLicense>
++ <license.ignoreMissingEmbeddedNotice>1.43.2,1.52.1</license.ignoreMissingEmbeddedNotice>
++ <license.ignoreLicenseOverride>1.43.2,1.52.1</license.ignoreLicenseOverride>
++ <license.ignoreNoticeOverride>1.43.2</license.ignoreNoticeOverride>
</properties>
</project>
</supplement>
diff --cc hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoin.java
index b35c5ff29e,5f80165fed..04f5fe8ce2
--- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoin.java
+++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoin.java
@@@ -643,7 -621,13 +640,17 @@@ public class OptimizedHybridHashJoin
this.isReversed = reversed;
}
+ private void logTupleInsertionFailure(int tid, int pid, int numFrames, int partitionFrameLimit) {
+ int recordSize = VPartitionTupleBufferManager.calculateActualSize(null, accessorBuild.getTupleLength(tid));
+ String details = String.format(
+ "partition %s, tuple size %s, needed # frames %s, partition frame limit %s, join "
+ + "memory in frames %s, initial frame size %s",
+ pid, recordSize, numFrames, partitionFrameLimit, memSizeInFrames, jobletCtx.getInitialFrameSize());
+ LOGGER.debug("can't insert tuple in join memory. {}", details);
+ LOGGER.debug("partitions status:\n{}", spillPolicy.partitionsStatus());
+ }
++
+ public void setOperatorStats(IOperatorStats stats) {
+ this.stats = stats;
+ }
}