You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Yingyi Bu (JIRA)" <ji...@apache.org> on 2017/02/21 17:55:52 UTC

[jira] [Created] (ASTERIXDB-1806) IllegalStateException from BTreeAccessMethod

Yingyi Bu created ASTERIXDB-1806:
------------------------------------

             Summary: IllegalStateException from BTreeAccessMethod
                 Key: ASTERIXDB-1806
                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-1806
             Project: Apache AsterixDB
          Issue Type: Bug
          Components: Compiler
            Reporter: Yingyi Bu
            Assignee: Taewoo Kim


DDL:

{noformat}
drop  dataverse tpch if exists;
create  dataverse tpch;

use tpch;


create type LineItemType as
 closed {
  l_orderkey : integer,
  l_partkey : integer,
  l_suppkey : integer,
  l_linenumber : integer,
  l_quantity : double,
  l_extendedprice : double,
  l_discount : double,
  l_tax : double,
  l_returnflag : string,
  l_linestatus : string,
  l_shipdate : string,
  l_commitdate : string,
  l_receiptdate : string,
  l_shipinstruct : string,
  l_shipmode : string,
  l_comment : string
}

create  dataset LineItem(LineItemType) primary key l_orderkey,l_linenumber;
{noformat}

Query:
{noformat}
USE tpch;

SET `import-private-functions` "true";

SELECT  l_returnflag,
        l_linestatus,
        sum(l_quantity) AS sum_qty,
        sum(l_extendedprice) AS sum_base_price,
        sum(l_extendedprice * (1 - l_discount)) AS sum_disc_price,
        sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) AS sum_charge,
        avg(l_quantity) AS ave_qty,
        avg(l_extendedprice) AS ave_price,
        avg(l_discount) AS ave_disc,
        count(1) AS count_order
FROM  LineItem l
WHERE inject_failure(l.l_shipdate <= '1998-09-02', l.l_orderkey=5988)
GROUP BY l_returnflag, l_linestatus
ORDER BY l_returnflag, l_linestatus
;
{noformat}


Exception:
{noformat}
java.lang.IllegalStateException
	at org.apache.asterix.optimizer.rules.am.BTreeAccessMethod.getNewConditionExprs(BTreeAccessMethod.java:651)
	at org.apache.asterix.optimizer.rules.am.BTreeAccessMethod.createSecondaryToPrimaryPlan(BTreeAccessMethod.java:544)
	at org.apache.asterix.optimizer.rules.am.BTreeAccessMethod.applySelectPlanTransformation(BTreeAccessMethod.java:129)
	at org.apache.asterix.optimizer.rules.am.IntroduceSelectAccessMethodRule.intersectAllSecondaryIndexes(IntroduceSelectAccessMethodRule.java:221)
	at org.apache.asterix.optimizer.rules.am.IntroduceSelectAccessMethodRule.checkAndApplyTheSelectTransformationRule(IntroduceSelectAccessMethodRule.java:176)
	at org.apache.asterix.optimizer.rules.am.IntroduceSelectAccessMethodRule.checkAndApplyTheSelectTransformationRule(IntroduceSelectAccessMethodRule.java:195)
	at org.apache.asterix.optimizer.rules.am.IntroduceSelectAccessMethodRule.checkAndApplyTheSelectTransformationRule(IntroduceSelectAccessMethodRule.java:195)
	at org.apache.asterix.optimizer.rules.am.IntroduceSelectAccessMethodRule.checkAndApplyTheSelectTransformationRule(IntroduceSelectAccessMethodRule.java:195)
	at org.apache.asterix.optimizer.rules.am.IntroduceSelectAccessMethodRule.checkAndApplyTheSelectTransformationRule(IntroduceSelectAccessMethodRule.java:195)
	at org.apache.asterix.optimizer.rules.am.IntroduceSelectAccessMethodRule.checkAndApplyTheSelectTransformationRule(IntroduceSelectAccessMethodRule.java:195)
	at org.apache.asterix.optimizer.rules.am.IntroduceSelectAccessMethodRule.checkAndApplyTheSelectTransformationRule(IntroduceSelectAccessMethodRule.java:195)
	at org.apache.asterix.optimizer.rules.am.IntroduceSelectAccessMethodRule.rewritePost(IntroduceSelectAccessMethodRule.java:130)
	at org.apache.hyracks.algebricks.core.rewriter.base.AbstractRuleController.rewriteOperatorRef(AbstractRuleController.java:126)
	at org.apache.hyracks.algebricks.compiler.rewriter.rulecontrollers.SequentialFixpointRuleController.rewriteWithRuleCollection(SequentialFixpointRuleController.java:53)
	at org.apache.hyracks.algebricks.core.rewriter.base.HeuristicOptimizer.runOptimizationSets(HeuristicOptimizer.java:102)
	at org.apache.hyracks.algebricks.core.rewriter.base.HeuristicOptimizer.optimize(HeuristicOptimizer.java:82)
	at org.apache.hyracks.algebricks.compiler.api.HeuristicCompilerFactoryBuilder$1$1.optimize(HeuristicCompilerFactoryBuilder.java:90)
	at org.apache.asterix.api.common.APIFramework.compileQuery(APIFramework.java:251)
	at org.apache.asterix.app.translator.QueryTranslator.rewriteCompileQuery(QueryTranslator.java:1920)
	at org.apache.asterix.app.translator.QueryTranslator.lambda$handleQuery$1(QueryTranslator.java:2393)
	at org.apache.asterix.app.translator.QueryTranslator$$Lambda$67/2055910122.compile(Unknown Source)
	at org.apache.asterix.app.translator.QueryTranslator.createAndRunJob(QueryTranslator.java:2459)
	at org.apache.asterix.app.translator.QueryTranslator.deliverResult(QueryTranslator.java:2438)
	at org.apache.asterix.app.translator.QueryTranslator.handleQuery(QueryTranslator.java:2405)
	at org.apache.asterix.app.translator.QueryTranslator.compileAndExecute(QueryTranslator.java:365)
	at org.apache.asterix.api.http.server.QueryServiceServlet.handleRequest(QueryServiceServlet.java:525)
	at org.apache.asterix.api.http.server.QueryServiceServlet.handle(QueryServiceServlet.java:94)
	at org.apache.hyracks.http.server.HttpRequestHandler.handle(HttpRequestHandler.java:70)
	at org.apache.hyracks.http.server.HttpRequestHandler.call(HttpRequestHandler.java:55)
	at org.apache.hyracks.http.server.HttpRequestHandler.call(HttpRequestHandler.java:36)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

testFile src/test/resources/runtimets/queries_sqlpp/failure/q01_pricing_summary_report_failure/q01_pricing_summary_report_failure.3.query.sqlpp raised an exception: org.apache.asterix.common.exceptions.AsterixException: IllegalStateException
org.apache.asterix.common.exceptions.AsterixException: IllegalStateException
	at org.apache.asterix.test.aql.ResultExtractor.extract(ResultExtractor.java:77)
	at org.apache.asterix.test.aql.TestExecutor.executeTestFile(TestExecutor.java:834)
	at org.apache.asterix.test.aql.TestExecutor.executeTest(TestExecutor.java:1144)
	at org.apache.asterix.test.runtime.LangExecutionUtil.test(LangExecutionUtil.java:118)
	at org.apache.asterix.test.runtime.LangExecutionUtil.test(LangExecutionUtil.java:105)
	at org.apache.asterix.test.runtime.SqlppExecutionTest.test(SqlppExecutionTest.java:61)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:117)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:42)
	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:253)
	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:84)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
...Unexpected!
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)