Uploaded image for project: 'Apache AsterixDB'
  1. Apache AsterixDB
  2. ASTERIXDB-3075

Query plan has cyclic dependency among plan activities

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 0.9.3
    • 0.9.7
    • COMP - Compiler
    • None

    Description

      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.

      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; 

      ExtractCommonOperatorsRule causes the issue when it extracts common segments of the plan and introduces replicate operators.

      Attachments

        Issue Links

          Activity

            People

              alsuliman Ali Alsuliman
              alsuliman Ali Alsuliman
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: