You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Ali Alsuliman (Jira)" <ji...@apache.org> on 2022/09/15 01:00:00 UTC

[jira] [Created] (ASTERIXDB-3075) Query plan has cyclic dependency among plan activities

Ali Alsuliman created ASTERIXDB-3075:
----------------------------------------

             Summary: Query plan has cyclic dependency among plan activities
                 Key: ASTERIXDB-3075
                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-3075
             Project: Apache AsterixDB
          Issue Type: Bug
          Components: COMP - Compiler
    Affects Versions: 0.9.3
            Reporter: Ali Alsuliman
            Assignee: Ali Alsuliman
             Fix For: 0.9.7


The plan for the below query has cyclic dependency among activities which causes a SO exception in Hyracks when trying to schedule the activities of the plan.
{code:java}
LET dv_name = ["test2", "test1"], ds_name = ["ds2", "ds1"], syn_name = [ "syn2", "syn1" ],
synonym_names = (SELECT s.SynonymName, s.ObjectName
                 FROM Metadata.`Synonym` s, syn_name
                 WHERE s.SynonymName = syn_name),

dataset_ds_dv_names = (SELECT d.DatasetName, d.DataverseName
                       FROM Metadata.`Dataset` d, (SELECT * FROM ds_name, dv_name) AS ds_dv_names
                       WHERE d.DatasetName = ds_dv_names.ds_name AND d.DataverseName = ds_dv_names.dv_name),

dataset_dv_ds_names = (SELECT d.DatasetName, d.DataverseName
                       FROM Metadata.`Dataset` d, (SELECT * FROM dv_name, ds_name) AS dv_ds_names
                       WHERE d.DatasetName = dv_ds_names.ds_name AND d.DataverseName = dv_ds_names.dv_name),

left_branch = (SELECT s.SynonymName, s.DataverseName, s.ObjectName
               FROM Metadata.`Synonym` s LEFT OUTER JOIN dataset_dv_ds_names
               ON dataset_dv_ds_names.DatasetName = s.ObjectName
               ORDER BY s.DataverseName, s.SynonymName),

right_branch = (SELECT synonym_names.SynonymName
                FROM synonym_names LEFT OUTER JOIN dataset_ds_dv_names
                ON dataset_ds_dv_names.DatasetName = synonym_names.ObjectName)

FROM left_branch lb LEFT OUTER JOIN right_branch rb
ON lb.ObjectName = rb.SynonymName
SELECT lb.DataverseName, lb.SynonymName
ORDER BY lb.DataverseName, lb.SynonymName; {code}
ExtractCommonOperatorsRule causes the issue when it extracts common segments of the plan and introduces replicate operators.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)