[
https://issues.apache.org/jira/browse/ASTERIXDB-2354?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dmitry Lychagin updated ASTERIXDB-2354:
---------------------------------------
Description:
Partition constraints are not computed correctly for binary operators in
JobBuilder.setPartitionConstraintsBottomup()
Currently the constraint from the second branch overrides the one from the
first branch even if the second branch constraint is 'null'. This leads to the
following exception from this query:
create type tpch.OrderType as closed
{ o_orderkey : bigint, _custkey : bigint, o_orderstatus : string, o_totalprice
: double, o_orderdate : string, o_orderpriority : string, o_clerk : string,
o_shippriority : bigint, o_comment : string }
;
create dataset Orders(OrderType) primary key o_orderkey;
create index OrdersIdx on Orders (o_custkey) type btree;
SELECT ds.DatasetName as v1
FROM Metadata.`Dataset` ds
WHERE ds.DatasetName LIKE "Orders%"
UNION ALL
SELECT ds.DatasetName v1, idx.DatasetName v2, idx.IndexName v3
FROM Metadata.`Index` idx, Metadata.`Dataset` ds
WHERE ds.DatasetName LIKE "Orders%" and idx.DatasetName LIKE "Orders%"
ORDER BY v1, v2, v3
------------------------------
Exception in thread "Worker:ClusterController" java.lang.AssertionError:
Dependency activity partitioned differently from dependent: 1 != 4
at
org.apache.hyracks.control.cc.executor.ActivityClusterPlanner.buildActivityPlanMap(ActivityClusterPlanner.java:109)
at
org.apache.hyracks.control.cc.executor.ActivityClusterPlanner.planActivityCluster(ActivityClusterPlanner.java:71)
at
org.apache.hyracks.control.cc.executor.JobExecutor.findRunnableTaskClusterRoots(JobExecutor.java:173)
at
org.apache.hyracks.control.cc.executor.JobExecutor.findRunnableTaskClusterRoots(JobExecutor.java:149)
at
org.apache.hyracks.control.cc.executor.JobExecutor.findRunnableTaskClusterRoots(JobExecutor.java:139)
at
org.apache.hyracks.control.cc.executor.JobExecutor.startRunnableActivityClusters(JobExecutor.java:198)
at
org.apache.hyracks.control.cc.executor.JobExecutor.notifyTaskComplete(JobExecutor.java:668)
at
org.apache.hyracks.control.cc.work.TaskCompleteWork.performEvent(TaskCompleteWork.java:56)
at
org.apache.hyracks.control.cc.work.AbstractTaskLifecycleWork.runWork(AbstractTaskLifecycleWork.java:72)
was:
Partition constraints are to computed correctly for binary operators in
JobBuilder.setPartitionConstraintsBottomup()
Currently the constraint from the second branch overrides the one from the
first branch even if the second branch constraint is 'null'. This leads to the
following exception from this query:
create type tpch.OrderType as closed {
o_orderkey : bigint, _custkey : bigint, o_orderstatus : string, o_totalprice :
double,
o_orderdate : string, o_orderpriority : string, o_clerk : string,
o_shippriority : bigint,
o_comment : string
};
create dataset Orders(OrderType) primary key o_orderkey;
create index OrdersIdx on Orders (o_custkey) type btree;
SELECT ds.DatasetName as v1
FROM Metadata.`Dataset` ds
WHERE ds.DatasetName LIKE "Orders%"
UNION ALL
SELECT ds.DatasetName v1, idx.DatasetName v2, idx.IndexName v3
FROM Metadata.`Index` idx, Metadata.`Dataset` ds
WHERE ds.DatasetName LIKE "Orders%" and idx.DatasetName LIKE "Orders%"
ORDER BY v1, v2, v3
------------------------------
Exception in thread "Worker:ClusterController" java.lang.AssertionError:
Dependency activity partitioned differently from dependent: 1 != 4
at
org.apache.hyracks.control.cc.executor.ActivityClusterPlanner.buildActivityPlanMap(ActivityClusterPlanner.java:109)
at
org.apache.hyracks.control.cc.executor.ActivityClusterPlanner.planActivityCluster(ActivityClusterPlanner.java:71)
at
org.apache.hyracks.control.cc.executor.JobExecutor.findRunnableTaskClusterRoots(JobExecutor.java:173)
at
org.apache.hyracks.control.cc.executor.JobExecutor.findRunnableTaskClusterRoots(JobExecutor.java:149)
at
org.apache.hyracks.control.cc.executor.JobExecutor.findRunnableTaskClusterRoots(JobExecutor.java:139)
at
org.apache.hyracks.control.cc.executor.JobExecutor.startRunnableActivityClusters(JobExecutor.java:198)
at
org.apache.hyracks.control.cc.executor.JobExecutor.notifyTaskComplete(JobExecutor.java:668)
at
org.apache.hyracks.control.cc.work.TaskCompleteWork.performEvent(TaskCompleteWork.java:56)
at
org.apache.hyracks.control.cc.work.AbstractTaskLifecycleWork.runWork(AbstractTaskLifecycleWork.java:72)
> Incorrect partition constraints propagation for binary operators
> ----------------------------------------------------------------
>
> Key: ASTERIXDB-2354
> URL: https://issues.apache.org/jira/browse/ASTERIXDB-2354
> Project: Apache AsterixDB
> Issue Type: Bug
> Components: COMP - Compiler
> Reporter: Dmitry Lychagin
> Assignee: Dmitry Lychagin
> Priority: Minor
>
> Partition constraints are not computed correctly for binary operators in
> JobBuilder.setPartitionConstraintsBottomup()
> Currently the constraint from the second branch overrides the one from the
> first branch even if the second branch constraint is 'null'. This leads to
> the following exception from this query:
> create type tpch.OrderType as closed
> { o_orderkey : bigint, _custkey : bigint, o_orderstatus : string,
> o_totalprice : double, o_orderdate : string, o_orderpriority : string,
> o_clerk : string, o_shippriority : bigint, o_comment : string }
> ;
> create dataset Orders(OrderType) primary key o_orderkey;
> create index OrdersIdx on Orders (o_custkey) type btree;
> SELECT ds.DatasetName as v1
> FROM Metadata.`Dataset` ds
> WHERE ds.DatasetName LIKE "Orders%"
> UNION ALL
> SELECT ds.DatasetName v1, idx.DatasetName v2, idx.IndexName v3
> FROM Metadata.`Index` idx, Metadata.`Dataset` ds
> WHERE ds.DatasetName LIKE "Orders%" and idx.DatasetName LIKE "Orders%"
> ORDER BY v1, v2, v3
> ------------------------------
> Exception in thread "Worker:ClusterController" java.lang.AssertionError:
> Dependency activity partitioned differently from dependent: 1 != 4
> at
> org.apache.hyracks.control.cc.executor.ActivityClusterPlanner.buildActivityPlanMap(ActivityClusterPlanner.java:109)
> at
> org.apache.hyracks.control.cc.executor.ActivityClusterPlanner.planActivityCluster(ActivityClusterPlanner.java:71)
> at
> org.apache.hyracks.control.cc.executor.JobExecutor.findRunnableTaskClusterRoots(JobExecutor.java:173)
> at
> org.apache.hyracks.control.cc.executor.JobExecutor.findRunnableTaskClusterRoots(JobExecutor.java:149)
> at
> org.apache.hyracks.control.cc.executor.JobExecutor.findRunnableTaskClusterRoots(JobExecutor.java:139)
> at
> org.apache.hyracks.control.cc.executor.JobExecutor.startRunnableActivityClusters(JobExecutor.java:198)
> at
> org.apache.hyracks.control.cc.executor.JobExecutor.notifyTaskComplete(JobExecutor.java:668)
> at
> org.apache.hyracks.control.cc.work.TaskCompleteWork.performEvent(TaskCompleteWork.java:56)
> at
> org.apache.hyracks.control.cc.work.AbstractTaskLifecycleWork.runWork(AbstractTaskLifecycleWork.java:72)
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)