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 <[email protected]> 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; + } }
