[jira] [Commented] (ASTERIXDB-1623) Certain Rewrite Rule causes NPE in LogicalPlan.toString()
[ https://issues.apache.org/jira/browse/ASTERIXDB-1623?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15462240#comment-15462240 ] Till commented on ASTERIXDB-1623: - Hi [~buyingyi], why is not a problem? > Certain Rewrite Rule causes NPE in LogicalPlan.toString() > - > > Key: ASTERIXDB-1623 > URL: https://issues.apache.org/jira/browse/ASTERIXDB-1623 > Project: Apache AsterixDB > Issue Type: Bug > Components: Optimizer >Reporter: Xikui Wang >Assignee: Yingyi Bu > > I met this bug when I was adding 'upsert-option' for the feed part. The > easiest way to reproduce this bug is to checkout my change at gerrit: > https://asterix-gerrit.ics.uci.edu/#/c/1068/ and execute the added test case. > The logical plan generated by subscribe statement is: > from: > org/apache/hyracks/algebricks/core/rewriter/base/HeuristicOptimizer.java:81 > {quote} > sink -- |UNPARTITIONED| > upsert into experiments:TwitterUsers from record: %0->$$2 partitioned by > [%0->$$3] out: ([record-before-upsert:null]) -- |UNPARTITIONED| > assign [$$3] <- [function-call: asterix:field-access-by-name, > Args:[%0->$$2, AString: {screen-name}]] -- |UNPARTITIONED| > project ([$$2]) -- |UNPARTITIONED| > assign [$$2] <- [function-call: asterix:collection-to-sequence, > Args:[%0->$$0]] -- |UNPARTITIONED| > unnest $$0 <- function-call: asterix:feed-collect, Args:[AString: > {experiments}, AString: {UserFeed}, AString: {UserFeed}, AString: {INTAKE}, > AString: {TwitterUsers}, AString: {TwitterUserType}] -- |UNPARTITIONED| > empty-tuple-source -- |UNPARTITIONED| > {quote} > I managed to trace down that after runOptimizationSets > (org.apache.hyracks.algebricks.core.rewriter.base.HeuristicOptimizer#runOptimizationSets) > worked on ruleList "ruleList.second.get(0) instanceof > PullSelectOutOfEqJoin", the plan.toString will causes NPE. > In normal scenario, this exception will not appear due to the log level > setting. However, during the integration test, this bug will be triggered by > org/apache/hyracks/algebricks/core/rewriter/base/HeuristicOptimizer.java:85 > The stack trace is as below: > {quote} > java.lang.NullPointerException > at > org.apache.hyracks.algebricks.core.algebra.expressions.VariableReferenceExpression.toString(VariableReferenceExpression.java:67) > at java.lang.String.valueOf(String.java:2994) > at java.lang.StringBuilder.append(StringBuilder.java:131) > at > org.apache.hyracks.algebricks.core.algebra.expressions.AbstractFunctionCallExpression.toString(AbstractFunctionCallExpression.java:124) > at java.lang.String.valueOf(String.java:2994) > at java.lang.StringBuilder.append(StringBuilder.java:131) > at > org.apache.hyracks.algebricks.core.algebra.expressions.AbstractFunctionCallExpression.toString(AbstractFunctionCallExpression.java:124) > at > org.apache.hyracks.algebricks.core.algebra.prettyprint.LogicalExpressionPrettyPrintVisitor.visitScalarFunctionCallExpression(LogicalExpressionPrettyPrintVisitor.java:57) > at > org.apache.hyracks.algebricks.core.algebra.prettyprint.LogicalExpressionPrettyPrintVisitor.visitScalarFunctionCallExpression(LogicalExpressionPrettyPrintVisitor.java:31) > at > org.apache.hyracks.algebricks.core.algebra.expressions.ScalarFunctionCallExpression.accept(ScalarFunctionCallExpression.java:55) > at > org.apache.hyracks.algebricks.core.algebra.prettyprint.LogicalOperatorPrettyPrintVisitor.pprintExprList(LogicalOperatorPrettyPrintVisitor.java:483) > at > org.apache.hyracks.algebricks.core.algebra.prettyprint.LogicalOperatorPrettyPrintVisitor.visitAssignOperator(LogicalOperatorPrettyPrintVisitor.java:198) > at > org.apache.hyracks.algebricks.core.algebra.prettyprint.LogicalOperatorPrettyPrintVisitor.visitAssignOperator(LogicalOperatorPrettyPrintVisitor.java:70) > at > org.apache.hyracks.algebricks.core.algebra.operators.logical.AssignOperator.accept(AssignOperator.java:63) > at > org.apache.hyracks.algebricks.core.algebra.prettyprint.PlanPrettyPrinter.printOperator(PlanPrettyPrinter.java:47) > at > org.apache.hyracks.algebricks.core.algebra.prettyprint.PlanPrettyPrinter.printOperator(PlanPrettyPrinter.java:59) > at > org.apache.hyracks.algebricks.core.algebra.prettyprint.PlanPrettyPrinter.printOperator(PlanPrettyPrinter.java:59) > at > org.apache.hyracks.algebricks.core.algebra.prettyprint.PlanPrettyPrinter.printPlan(PlanPrettyPrinter.java:33) > at > org.apache.hyracks.algebricks.core.rewriter.base.HeuristicOptimizer.logPlanAt(HeuristicOptimizer.java:93) > at > org.apache.hyracks.algebricks.core.rewriter.base.HeuristicOptimizer.optimize(HeuristicOptimizer.java:85) > at >
Change in asterixdb[master]: Small Cleanup
Jenkins has posted comments on this change. Change subject: Small Cleanup .. Patch Set 1: Integration-Tests+1 Integration Tests Successful https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/564/ : SUCCESS -- To view, visit https://asterix-gerrit.ics.uci.edu/1145 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib527f2eee283faf75c04323b6961c31a6d739d07 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: abdullah alamoudiGerrit-Reviewer: Jenkins Gerrit-Reviewer: Michael Blow Gerrit-HasComments: No
Change in asterixdb[master]: Small Cleanup
Jenkins has posted comments on this change. Change subject: Small Cleanup .. Patch Set 1: Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/564/ -- To view, visit https://asterix-gerrit.ics.uci.edu/1145 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib527f2eee283faf75c04323b6961c31a6d739d07 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: abdullah alamoudiGerrit-Reviewer: Jenkins Gerrit-Reviewer: Michael Blow Gerrit-HasComments: No
Change in asterixdb[master]: Small Cleanup
Jenkins has posted comments on this change. Change subject: Small Cleanup .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/2523/ -- To view, visit https://asterix-gerrit.ics.uci.edu/1145 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib527f2eee283faf75c04323b6961c31a6d739d07 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: abdullah alamoudiGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: Small Cleanup
abdullah alamoudi has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/1145 Change subject: Small Cleanup .. Small Cleanup Change-Id: Ib527f2eee283faf75c04323b6961c31a6d739d07 --- M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/external/ExternalIndexingOperations.java M asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/adapter/factory/GenericAdapterFactory.java M asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/adapter/factory/LookupAdapterFactory.java M asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IAdapterFactory.java M asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IExternalDataSourceFactory.java M asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/rss/RSSRecordReaderFactory.java M asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/stream/StreamRecordReaderFactory.java M asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/twitter/TwitterRecordReaderFactory.java M asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/stream/factory/SocketClientInputStreamFactory.java M asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/provider/AdapterFactoryProvider.java M asterixdb/asterix-external-data/src/test/java/org/apache/asterix/external/input/record/reader/RecordWithPKTestReaderFactory.java M asterixdb/asterix-external-data/src/test/java/org/apache/asterix/external/library/adapter/TestTypedAdapterFactory.java M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/util/LangRecordParseUtil.java M asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/serde/ARecordSerializerDeserializer.java 14 files changed, 142 insertions(+), 62 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/45/1145/1 diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/external/ExternalIndexingOperations.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/external/ExternalIndexingOperations.java index c8a9566..5df687a 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/external/ExternalIndexingOperations.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/external/ExternalIndexingOperations.java @@ -38,7 +38,6 @@ import org.apache.asterix.common.ioopcallbacks.LSMBTreeIOOperationCallbackFactory; import org.apache.asterix.common.ioopcallbacks.LSMBTreeWithBuddyIOOperationCallbackFactory; import org.apache.asterix.common.ioopcallbacks.LSMRTreeIOOperationCallbackFactory; -import org.apache.asterix.runtime.util.AsterixRuntimeComponentsProvider; import org.apache.asterix.dataflow.data.nontagged.valueproviders.AqlPrimitiveValueProviderFactory; import org.apache.asterix.external.api.IAdapterFactory; import org.apache.asterix.external.indexing.ExternalFile; @@ -71,6 +70,7 @@ import org.apache.asterix.om.types.IAType; import org.apache.asterix.om.util.NonTaggedFormatUtil; import org.apache.asterix.runtime.util.AsterixAppContextInfo; +import org.apache.asterix.runtime.util.AsterixRuntimeComponentsProvider; import org.apache.asterix.transaction.management.opcallbacks.SecondaryIndexOperationTrackerProvider; import org.apache.asterix.transaction.management.resource.ExternalBTreeLocalResourceMetadata; import org.apache.asterix.transaction.management.resource.PersistentLocalResourceFactoryProvider; @@ -90,6 +90,7 @@ import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.api.dataflow.value.ITypeTraits; import org.apache.hyracks.api.dataflow.value.RecordDescriptor; +import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.api.job.JobSpecification; import org.apache.hyracks.dataflow.std.file.IFileSplitProvider; import org.apache.hyracks.storage.am.common.api.IPrimitiveValueProviderFactory; @@ -255,13 +256,15 @@ * @param files * @param indexerDesc * @return - * @throws AsterixException + * @throws AlgebricksException + * @throws HyracksDataException * @throws Exception */ private static PairgetExternalDataIndexingOperator( AqlMetadataProvider metadataProvider, JobSpecification jobSpec, IAType itemType, Dataset dataset, -List files, RecordDescriptor indexerDesc) throws AsterixException { +List files, RecordDescriptor indexerDesc) +throws HyracksDataException, AlgebricksException { ExternalDatasetDetails externalDatasetDetails = (ExternalDatasetDetails) dataset.getDatasetDetails();
Change in asterixdb[master]: ASTERIXDB-1628: Fixed an issue in External Hash Group by
Jenkins has posted comments on this change. Change subject: ASTERIXDB-1628: Fixed an issue in External Hash Group by .. Patch Set 2: Integration-Tests+1 Integration Tests Successful https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/563/ : SUCCESS -- To view, visit https://asterix-gerrit.ics.uci.edu/1144 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8901d2b64659fb0d2b97d73f45a9fe113232e860 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins Gerrit-Reviewer: Jianfeng Jia Gerrit-Reviewer: Taewoo Kim Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1628: Fixed an issue in External Hash Group by
Jenkins has posted comments on this change. Change subject: ASTERIXDB-1628: Fixed an issue in External Hash Group by .. Patch Set 2: Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/563/ -- To view, visit https://asterix-gerrit.ics.uci.edu/1144 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8901d2b64659fb0d2b97d73f45a9fe113232e860 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins Gerrit-Reviewer: Jianfeng Jia Gerrit-Reviewer: Taewoo Kim Gerrit-HasComments: No
[jira] [Closed] (ASTERIXDB-1623) Certain Rewrite Rule causes NPE in LogicalPlan.toString()
[ https://issues.apache.org/jira/browse/ASTERIXDB-1623?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yingyi Bu closed ASTERIXDB-1623. Resolution: Not A Problem > Certain Rewrite Rule causes NPE in LogicalPlan.toString() > - > > Key: ASTERIXDB-1623 > URL: https://issues.apache.org/jira/browse/ASTERIXDB-1623 > Project: Apache AsterixDB > Issue Type: Bug > Components: Optimizer >Reporter: Xikui Wang >Assignee: Yingyi Bu > > I met this bug when I was adding 'upsert-option' for the feed part. The > easiest way to reproduce this bug is to checkout my change at gerrit: > https://asterix-gerrit.ics.uci.edu/#/c/1068/ and execute the added test case. > The logical plan generated by subscribe statement is: > from: > org/apache/hyracks/algebricks/core/rewriter/base/HeuristicOptimizer.java:81 > {quote} > sink -- |UNPARTITIONED| > upsert into experiments:TwitterUsers from record: %0->$$2 partitioned by > [%0->$$3] out: ([record-before-upsert:null]) -- |UNPARTITIONED| > assign [$$3] <- [function-call: asterix:field-access-by-name, > Args:[%0->$$2, AString: {screen-name}]] -- |UNPARTITIONED| > project ([$$2]) -- |UNPARTITIONED| > assign [$$2] <- [function-call: asterix:collection-to-sequence, > Args:[%0->$$0]] -- |UNPARTITIONED| > unnest $$0 <- function-call: asterix:feed-collect, Args:[AString: > {experiments}, AString: {UserFeed}, AString: {UserFeed}, AString: {INTAKE}, > AString: {TwitterUsers}, AString: {TwitterUserType}] -- |UNPARTITIONED| > empty-tuple-source -- |UNPARTITIONED| > {quote} > I managed to trace down that after runOptimizationSets > (org.apache.hyracks.algebricks.core.rewriter.base.HeuristicOptimizer#runOptimizationSets) > worked on ruleList "ruleList.second.get(0) instanceof > PullSelectOutOfEqJoin", the plan.toString will causes NPE. > In normal scenario, this exception will not appear due to the log level > setting. However, during the integration test, this bug will be triggered by > org/apache/hyracks/algebricks/core/rewriter/base/HeuristicOptimizer.java:85 > The stack trace is as below: > {quote} > java.lang.NullPointerException > at > org.apache.hyracks.algebricks.core.algebra.expressions.VariableReferenceExpression.toString(VariableReferenceExpression.java:67) > at java.lang.String.valueOf(String.java:2994) > at java.lang.StringBuilder.append(StringBuilder.java:131) > at > org.apache.hyracks.algebricks.core.algebra.expressions.AbstractFunctionCallExpression.toString(AbstractFunctionCallExpression.java:124) > at java.lang.String.valueOf(String.java:2994) > at java.lang.StringBuilder.append(StringBuilder.java:131) > at > org.apache.hyracks.algebricks.core.algebra.expressions.AbstractFunctionCallExpression.toString(AbstractFunctionCallExpression.java:124) > at > org.apache.hyracks.algebricks.core.algebra.prettyprint.LogicalExpressionPrettyPrintVisitor.visitScalarFunctionCallExpression(LogicalExpressionPrettyPrintVisitor.java:57) > at > org.apache.hyracks.algebricks.core.algebra.prettyprint.LogicalExpressionPrettyPrintVisitor.visitScalarFunctionCallExpression(LogicalExpressionPrettyPrintVisitor.java:31) > at > org.apache.hyracks.algebricks.core.algebra.expressions.ScalarFunctionCallExpression.accept(ScalarFunctionCallExpression.java:55) > at > org.apache.hyracks.algebricks.core.algebra.prettyprint.LogicalOperatorPrettyPrintVisitor.pprintExprList(LogicalOperatorPrettyPrintVisitor.java:483) > at > org.apache.hyracks.algebricks.core.algebra.prettyprint.LogicalOperatorPrettyPrintVisitor.visitAssignOperator(LogicalOperatorPrettyPrintVisitor.java:198) > at > org.apache.hyracks.algebricks.core.algebra.prettyprint.LogicalOperatorPrettyPrintVisitor.visitAssignOperator(LogicalOperatorPrettyPrintVisitor.java:70) > at > org.apache.hyracks.algebricks.core.algebra.operators.logical.AssignOperator.accept(AssignOperator.java:63) > at > org.apache.hyracks.algebricks.core.algebra.prettyprint.PlanPrettyPrinter.printOperator(PlanPrettyPrinter.java:47) > at > org.apache.hyracks.algebricks.core.algebra.prettyprint.PlanPrettyPrinter.printOperator(PlanPrettyPrinter.java:59) > at > org.apache.hyracks.algebricks.core.algebra.prettyprint.PlanPrettyPrinter.printOperator(PlanPrettyPrinter.java:59) > at > org.apache.hyracks.algebricks.core.algebra.prettyprint.PlanPrettyPrinter.printPlan(PlanPrettyPrinter.java:33) > at > org.apache.hyracks.algebricks.core.rewriter.base.HeuristicOptimizer.logPlanAt(HeuristicOptimizer.java:93) > at > org.apache.hyracks.algebricks.core.rewriter.base.HeuristicOptimizer.optimize(HeuristicOptimizer.java:85) > at >
Change in asterixdb[master]: ASTERIXDB-1628: Fixed an issue in External Hash Group by
Jenkins has posted comments on this change. Change subject: ASTERIXDB-1628: Fixed an issue in External Hash Group by .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/2522/ -- To view, visit https://asterix-gerrit.ics.uci.edu/1144 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8901d2b64659fb0d2b97d73f45a9fe113232e860 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins Gerrit-Reviewer: Jianfeng Jia Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1628: Fixed an issue in External Hash Group by
Taewoo Kim has posted comments on this change. Change subject: ASTERIXDB-1628: Fixed an issue in External Hash Group by .. Patch Set 2: Code-Review+2 Forwarding Jianfeng's +2 (just rebased) -- To view, visit https://asterix-gerrit.ics.uci.edu/1144 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8901d2b64659fb0d2b97d73f45a9fe113232e860 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins Gerrit-Reviewer: Jianfeng Jia Gerrit-Reviewer: Taewoo Kim Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1628: Fixed an issue in External Hash Group by
Hello Jianfeng Jia, Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1144 to look at the new patch set (#2). Change subject: ASTERIXDB-1628: Fixed an issue in External Hash Group by .. ASTERIXDB-1628: Fixed an issue in External Hash Group by - The number of partitions in External Hash Group By is now properly calculated by considering a corner case. Change-Id: I8901d2b64659fb0d2b97d73f45a9fe113232e860 --- M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/HashSpillableTableFactory.java 1 file changed, 11 insertions(+), 7 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/44/1144/2 -- To view, visit https://asterix-gerrit.ics.uci.edu/1144 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I8901d2b64659fb0d2b97d73f45a9fe113232e860 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins Gerrit-Reviewer: Jianfeng Jia
Change in asterixdb[master]: Refactor Messaging
abdullah alamoudi has submitted this change and it was merged. Change subject: Refactor Messaging .. Refactor Messaging In this refactoring, each message implementation includes a handle method. This avoids bloating of message brokers and enable better extensibility for messaging. Change-Id: I7c918bf504058c98ecf89f5b019503278e9aa01f Reviewed-on: https://asterix-gerrit.ics.uci.edu/1128 Tested-by: JenkinsIntegration-Tests: Jenkins Reviewed-by: abdullah alamoudi --- R asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveLifecycleListener.java M asterixdb/asterix-active/src/main/java/org/apache/asterix/active/message/ActiveManagerMessage.java M asterixdb/asterix-active/src/main/java/org/apache/asterix/active/message/ActivePartitionMessage.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/InvertedIndexPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AbstractLangTranslator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/APIFramework.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/servlet/ClusterAPIServlet.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/servlet/QueryWebInterfaceServlet.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/servlet/ShutdownAPIServlet.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/servlet/VersionAPIServlet.java A asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cc/AsterixResourceIdManager.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/external/ExternalIndexingOperations.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/external/FeedOperations.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/external/FeedWorkCollection.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/AsterixNCAppRuntimeContext.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultReader.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/file/DatasetOperations.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/file/IndexOperations.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/file/JobSpecificationUtils.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/file/SecondaryBTreeOperationsHelper.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/file/SecondaryIndexOperationsHelper.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/file/SecondaryInvertedIndexOperationsHelper.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/file/SecondaryRTreeOperationsHelper.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/CCApplicationEntryPoint.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/ClusterLifecycleListener.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/ClusterWorkExecutor.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/GlobalRecoveryManager.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/NCApplicationEntryPoint.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/messaging/CCMessageBroker.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/messaging/NCMessageBroker.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/util/FlushDatasetUtils.java M asterixdb/asterix-app/src/test/java/org/apache/asterix/api/http/servlet/VersionAPIServletTest.java M asterixdb/asterix-app/src/test/java/org/apache/asterix/app/bootstrap/TestNodeController.java M asterixdb/asterix-app/src/test/java/org/apache/asterix/aql/translator/QueryTranslatorTest.java M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/ExecutionTestUtil.java M asterixdb/asterix-common/pom.xml R asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ExceptionUtils.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/messaging/AbstractApplicationMessage.java D asterixdb/asterix-common/src/main/java/org/apache/asterix/common/messaging/CompleteFailbackRequestMessage.java D asterixdb/asterix-common/src/main/java/org/apache/asterix/common/messaging/PreparePartitionsFailbackRequestMessage.java D asterixdb/asterix-common/src/main/java/org/apache/asterix/common/messaging/ReplicaEventMessage.java D asterixdb/asterix-common/src/main/java/org/apache/asterix/common/messaging/ReportMaxResourceIdMessage.java D
Change in asterixdb[master]: Refactor Messaging
abdullah alamoudi has posted comments on this change. Change subject: Refactor Messaging .. Patch Set 10: Code-Review+2 Forwarded. -- To view, visit https://asterix-gerrit.ics.uci.edu/1128 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c918bf504058c98ecf89f5b019503278e9aa01f Gerrit-PatchSet: 10 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: abdullah alamoudiGerrit-Reviewer: Jenkins Gerrit-Reviewer: Till Westmann Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
[jira] [Closed] (ASTERIXDB-1580) Subquery in having clause throws ArrayIndexOutOfBoundsException
[ https://issues.apache.org/jira/browse/ASTERIXDB-1580?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vignesh Raghunathan closed ASTERIXDB-1580. -- Resolution: Fixed > Subquery in having clause throws ArrayIndexOutOfBoundsException > --- > > Key: ASTERIXDB-1580 > URL: https://issues.apache.org/jira/browse/ASTERIXDB-1580 > Project: Apache AsterixDB > Issue Type: Bug >Reporter: Vignesh Raghunathan >Assignee: Yingyi Bu > Attachments: logs.zip > > > The following sqlpp query throws an ArrayIndexOutOfBoundsException > {code} > use tpcds; > select a.ca_state state, count(a) cnt > from customer_address a > ,customer c > ,store_sales s > ,date_dim d > ,item i > where a.ca_address_sk = c.c_current_addr_sk > and c.c_customer_sk = s.ss_customer_sk > and s.ss_sold_date_sk = d.d_date_sk > and s.ss_item_sk = i.i_item_sk > group by a.ca_state group as stategrp > having coll_count((select value a from stategrp)) >= 10 > order by cnt > limit 100; > {code} > tpcdsq6.zip contains the schema and data for the datasets used in the query -- This message was sent by Atlassian JIRA (v6.3.4#6332)
Change in asterixdb[master]: Refactor Messaging
Jenkins has posted comments on this change. Change subject: Refactor Messaging .. Patch Set 10: Integration-Tests+1 Integration Tests Successful https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/562/ : SUCCESS -- To view, visit https://asterix-gerrit.ics.uci.edu/1128 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c918bf504058c98ecf89f5b019503278e9aa01f Gerrit-PatchSet: 10 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: abdullah alamoudiGerrit-Reviewer: Jenkins Gerrit-Reviewer: Till Westmann Gerrit-HasComments: No
Change in asterixdb[master]: Refactor Messaging
Jenkins has posted comments on this change. Change subject: Refactor Messaging .. Patch Set 10: Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/562/ -- To view, visit https://asterix-gerrit.ics.uci.edu/1128 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c918bf504058c98ecf89f5b019503278e9aa01f Gerrit-PatchSet: 10 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: abdullah alamoudiGerrit-Reviewer: Jenkins Gerrit-Reviewer: Till Westmann Gerrit-HasComments: No
Change in asterixdb[master]: Refactor Messaging
Jenkins has posted comments on this change. Change subject: Refactor Messaging .. Patch Set 10: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/2521/ -- To view, visit https://asterix-gerrit.ics.uci.edu/1128 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c918bf504058c98ecf89f5b019503278e9aa01f Gerrit-PatchSet: 10 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: abdullah alamoudiGerrit-Reviewer: Jenkins Gerrit-Reviewer: Till Westmann Gerrit-HasComments: No
Change in asterixdb[master]: Refactor Messaging
Jenkins has posted comments on this change. Change subject: Refactor Messaging .. Patch Set 10: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/2520/ -- To view, visit https://asterix-gerrit.ics.uci.edu/1128 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c918bf504058c98ecf89f5b019503278e9aa01f Gerrit-PatchSet: 10 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: abdullah alamoudiGerrit-Reviewer: Jenkins Gerrit-Reviewer: Till Westmann Gerrit-HasComments: No
Change in asterixdb[master]: Refactor Messaging
Jenkins has posted comments on this change. Change subject: Refactor Messaging .. Patch Set 10: WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN: * asterixdb * hyracks-fullstack PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES! -- To view, visit https://asterix-gerrit.ics.uci.edu/1128 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c918bf504058c98ecf89f5b019503278e9aa01f Gerrit-PatchSet: 10 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: abdullah alamoudiGerrit-Reviewer: Jenkins Gerrit-Reviewer: Till Westmann Gerrit-HasComments: No
Change in asterixdb[master]: Refactor Messaging
Hello Till Westmann, Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1128 to look at the new patch set (#10). Change subject: Refactor Messaging .. Refactor Messaging In this refactoring, each message implementation includes a handle method. This avoids bloating of message brokers and enable better extensibility for messaging. Change-Id: I7c918bf504058c98ecf89f5b019503278e9aa01f --- R asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveLifecycleListener.java M asterixdb/asterix-active/src/main/java/org/apache/asterix/active/message/ActiveManagerMessage.java M asterixdb/asterix-active/src/main/java/org/apache/asterix/active/message/ActivePartitionMessage.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/InvertedIndexPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AbstractLangTranslator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/APIFramework.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/servlet/ClusterAPIServlet.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/servlet/QueryWebInterfaceServlet.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/servlet/ShutdownAPIServlet.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/servlet/VersionAPIServlet.java A asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cc/AsterixResourceIdManager.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/external/ExternalIndexingOperations.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/external/FeedOperations.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/external/FeedWorkCollection.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/AsterixNCAppRuntimeContext.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultReader.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/file/DatasetOperations.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/file/IndexOperations.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/file/JobSpecificationUtils.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/file/SecondaryBTreeOperationsHelper.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/file/SecondaryIndexOperationsHelper.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/file/SecondaryInvertedIndexOperationsHelper.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/file/SecondaryRTreeOperationsHelper.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/CCApplicationEntryPoint.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/ClusterLifecycleListener.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/ClusterWorkExecutor.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/GlobalRecoveryManager.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/NCApplicationEntryPoint.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/messaging/CCMessageBroker.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/messaging/NCMessageBroker.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/util/FlushDatasetUtils.java M asterixdb/asterix-app/src/test/java/org/apache/asterix/api/http/servlet/VersionAPIServletTest.java M asterixdb/asterix-app/src/test/java/org/apache/asterix/app/bootstrap/TestNodeController.java M asterixdb/asterix-app/src/test/java/org/apache/asterix/aql/translator/QueryTranslatorTest.java M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/ExecutionTestUtil.java M asterixdb/asterix-common/pom.xml R asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ExceptionUtils.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/messaging/AbstractApplicationMessage.java D asterixdb/asterix-common/src/main/java/org/apache/asterix/common/messaging/CompleteFailbackRequestMessage.java D asterixdb/asterix-common/src/main/java/org/apache/asterix/common/messaging/PreparePartitionsFailbackRequestMessage.java D asterixdb/asterix-common/src/main/java/org/apache/asterix/common/messaging/ReplicaEventMessage.java D asterixdb/asterix-common/src/main/java/org/apache/asterix/common/messaging/ReportMaxResourceIdMessage.java D asterixdb/asterix-common/src/main/java/org/apache/asterix/common/messaging/TakeoverMetadataNodeRequestMessage.java D
Change in asterixdb[master]: fix NPE in ValidateUtil
Till Westmann has submitted this change and it was merged. Change subject: fix NPE in ValidateUtil .. fix NPE in ValidateUtil Change-Id: I8f623441a3f5b72a9a0621d32d9d1a6aa5567d66 Reviewed-on: https://asterix-gerrit.ics.uci.edu/1139 Reviewed-by: Yingyi BuSonar-Qube: Jenkins Tested-by: Jenkins Integration-Tests: Jenkins --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/ValidateUtil.java M asterixdb/asterix-app/src/test/resources/metadata/testsuite.xml M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml 4 files changed, 15 insertions(+), 11 deletions(-) Approvals: Yingyi Bu: Looks good to me, approved Jenkins: Verified; No violations found; Verified diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/ValidateUtil.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/ValidateUtil.java index 13153c2..065b1b0 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/ValidateUtil.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/ValidateUtil.java @@ -107,6 +107,10 @@ keySourceIndicators); for (int fidx = 0; fidx < partitioningExprTypes.size(); ++fidx) { IAType fieldType = partitioningExprTypes.get(fidx); +if (fieldType == null) { +throw new AsterixException( +"Type not found for partitioning key " + partitioningExprs.get(fidx)); +} switch (fieldType.getTypeTag()) { case INT8: case INT16: @@ -125,10 +129,10 @@ break; case UNION: throw new AsterixException( -"The partitioning key \"" + partitioningExprs.get(fidx) + "\" cannot be nullable"); +"The partitioning key " + partitioningExprs.get(fidx) + " cannot be nullable"); default: -throw new AsterixException("The partitioning key \"" + partitioningExprs.get(fidx) -+ "\" cannot be of type " + fieldType.getTypeTag() + "."); +throw new AsterixException("The partitioning key " + partitioningExprs.get(fidx) ++ " cannot be of type " + fieldType.getTypeTag() + "."); } } } diff --git a/asterixdb/asterix-app/src/test/resources/metadata/testsuite.xml b/asterixdb/asterix-app/src/test/resources/metadata/testsuite.xml index 8f35293..251e2e4 100644 --- a/asterixdb/asterix-app/src/test/resources/metadata/testsuite.xml +++ b/asterixdb/asterix-app/src/test/resources/metadata/testsuite.xml @@ -412,13 +412,13 @@ none -java.lang.NullPointerException +Type not found for partitioning key [name] none -Error: The partitioning key "[open-type]" cannot be of type RECORD. +Error: The partitioning key [open-type] cannot be of type RECORD. partition-by-nonexistent-field -java.lang.NullPointerException +Type not found for partitioning key [id] org.apache.hyracks.algebricks.common.exceptions.AlgebricksException: Cannot find dataset org.apache.hyracks.algebricks.common.exceptions.AlgebricksException: Could not find dataset diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml index a074df9..a89808e 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml +++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml @@ -3034,9 +3034,9 @@ partition-by-nonexistent-field -java.lang.NullPointerException -Cannot find dataset -Cannot find dataset testds in dataverse test nor an alias with name testds +Type not found for partitioning key [id] +Cannot find dataset testds in dataverse test +Cannot find dataset testds in dataverse test nor an alias with name testds! -- To view, visit https://asterix-gerrit.ics.uci.edu/1139 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: merged Gerrit-Change-Id: I8f623441a3f5b72a9a0621d32d9d1a6aa5567d66 Gerrit-PatchSet: 6 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Till Westmann Gerrit-Reviewer: Jenkins
Change in asterixdb[master]: fix NPE in ValidateUtil
Jenkins has posted comments on this change. Change subject: fix NPE in ValidateUtil .. Patch Set 5: Integration-Tests+1 Integration Tests Successful https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/561/ : SUCCESS -- To view, visit https://asterix-gerrit.ics.uci.edu/1139 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8f623441a3f5b72a9a0621d32d9d1a6aa5567d66 Gerrit-PatchSet: 5 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Till WestmannGerrit-Reviewer: Jenkins Gerrit-Reviewer: Yingyi Bu Gerrit-HasComments: No