Dmitry Lychagin created ASTERIXDB-3038:
------------------------------------------

             Summary: Error: Cannot compose partition constraint ABSOLUTE
                 Key: ASTERIXDB-3038
                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-3038
             Project: Apache AsterixDB
          Issue Type: Bug
          Components: COMP - Compiler
    Affects Versions: 0.9.6
            Reporter: Dmitry Lychagin
            Assignee: Dmitry Lychagin


The following query fails with 
AlgebricksException: HYR10001: Cannot compose partition constraint ABSOLUTE
 
{noformat}
drop dataverse test1 if exists;
drop dataverse test2 if exists;

create dataverse test1;
create dataverse test2;

create dataset test1.ds1 (id1 integer not unknown) primary key id1;
create dataset test2.ds2 (id2 integer not unknown) primary key id2;

create synonym test1.syn1 for test1.ds1;
create synonym test2.syn2 for test2.ds2;

select count(*) cnt
from Metadata.`Synonym` as syn
where syn.ObjectDataverseName in
  ["test1", "test2"]
and syn.ObjectName in (
  select value ds.DatasetName
  from Metadata.`Dataset` as ds
  where ds.DataverseName in
    ["test1", "test2"]
  and ds.DatasetName in
    ["ds1", "ds2"])
  or syn.ObjectName in (
    select value syn1.SynonymName
    from Metadata.`Synonym` as syn1
    where syn1.SynonymName in
      ["syn1", "syn2"]
    and syn1.ObjectName in (
      select value ds1.DatasetName
      from Metadata.`Dataset` as ds1
      where ds1.DataverseName in
        ["test1", "test2"]
      and ds1.DatasetName in
        ["ds1", "ds2"]
    )
  )
{noformat}

Exception stack trace:
{noformat}
org.apache.hyracks.algebricks.common.exceptions.AlgebricksException: HYR10001: 
Cannot compose partition constraint ABSOLUTE:[asterix_nc1, asterix_nc1, 
asterix_nc2, asterix_nc2] with ABSOLUTE:[asterix_nc1]
        at 
org.apache.hyracks.algebricks.common.exceptions.AlgebricksException.create(AlgebricksException.java:48)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.common.exceptions.AlgebricksException.create(AlgebricksException.java:52)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.common.constraints.AlgebricksAbsolutePartitionConstraint.compose(AlgebricksAbsolutePartitionConstraint.java:73)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.core.jobgen.impl.JobBuilder.composePartitionConstraints(JobBuilder.java:448)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.core.jobgen.impl.JobBuilder.setPartitionConstraintsBottomup(JobBuilder.java:269)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.core.jobgen.impl.JobBuilder.setPartitionConstraintsBottomup(JobBuilder.java:261)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.core.jobgen.impl.JobBuilder.setPartitionConstraintsBottomup(JobBuilder.java:261)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.core.jobgen.impl.JobBuilder.setPartitionConstraintsBottomup(JobBuilder.java:261)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.core.jobgen.impl.JobBuilder.setPartitionConstraintsBottomup(JobBuilder.java:261)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.core.jobgen.impl.JobBuilder.setPartitionConstraintsBottomup(JobBuilder.java:261)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.core.jobgen.impl.JobBuilder.setPartitionConstraintsBottomup(JobBuilder.java:261)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.core.jobgen.impl.JobBuilder.setPartitionConstraintsBottomup(JobBuilder.java:261)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.core.jobgen.impl.JobBuilder.setPartitionConstraintsBottomup(JobBuilder.java:261)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.core.jobgen.impl.JobBuilder.setPartitionConstraintsBottomup(JobBuilder.java:261)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.core.jobgen.impl.JobBuilder.setPartitionConstraintsBottomup(JobBuilder.java:261)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.core.jobgen.impl.JobBuilder.setPartitionConstraintsBottomup(JobBuilder.java:261)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.core.jobgen.impl.JobBuilder.setPartitionConstraintsBottomup(JobBuilder.java:261)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.core.jobgen.impl.JobBuilder.setPartitionConstraintsBottomup(JobBuilder.java:261)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.core.jobgen.impl.JobBuilder.setAllPartitionConstraints(JobBuilder.java:201)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.core.jobgen.impl.JobBuilder.buildSpec(JobBuilder.java:176)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compilePlanImpl(PlanCompiler.java:75)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.core.jobgen.impl.PlanCompiler.compilePlan(PlanCompiler.java:52)
 ~[classes/:?]
        at 
org.apache.hyracks.algebricks.compiler.api.HeuristicCompilerFactoryBuilder$1$1.createJob(HeuristicCompilerFactoryBuilder.java:111)
 ~[classes/:?]
{noformat}



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to