[teiid-issues] [JBoss JIRA] (TEIID-5864) Teiid Query Join Plan Infinite Loop
Mark Tawk (Jira)
issues at jboss.org
Fri Dec 6 04:20:00 EST 2019
[ https://issues.redhat.com/browse/TEIID-5864?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13821974#comment-13821974 ]
Mark Tawk commented on TEIID-5864:
----------------------------------
We reproduced the issue on master branch.
we are using 2 SQL server connections into the query (sqlserver1_model, sqlserver2_model)
we replaced the views with their corresponding SQL to make it easier for your to reproduce:
{code:java}
SELECT c._COMPTE,
u.CalculatedField,
CH_4.CH4__VALEUR,
ch_41.CH41__VALEUR,
ch_5.CH5__VALEUR
FROM sqlserver1_model.OMEGA.Cpte.CPARTFCP c
LEFT JOIN sqlserver2_model.BINV_NeumannDB2.dbo.BAAFREPACCOUNTUNION u
ON CAST(u.BAAFREP_AFAINB AS STRING) = c._USERNAME
LEFT JOIN (SELECT ch._COMPTE AS CH4__COMPTE,
ch._VALEUR AS CH4__VALEUR
FROM sqlserver1_model.OMEGA.Cpte.CHAMPSFCP ch
WHERE ch._NUMCHAMPS = 4) CH_4
ON c._COMPTE = CH_4.CH4__COMPTE
LEFT JOIN (SELECT ch._COMPTE AS CH41__COMPTE,
ch._VALEUR AS CH41__VALEUR
FROM sqlserver1_model.OMEGA.Cpte.CHAMPSFCP ch
WHERE ch._NUMCHAMPS = 41) ch_41
ON c._COMPTE = ch_41.CH41__COMPTE
LEFT JOIN (SELECT ch._COMPTE AS CH5__COMPTE,
ch._VALEUR AS CH5__VALEUR
FROM sqlserver1_model.OMEGA.Cpte.CHAMPSFCP ch
WHERE ch._NUMCHAMPS = 5) ch_5
ON c._COMPTE = ch_5.CH5__COMPTE LIMIT 0, 10
{code}
> Teiid Query Join Plan Infinite Loop
> -----------------------------------
>
> Key: TEIID-5864
> URL: https://issues.redhat.com/browse/TEIID-5864
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Reporter: Mark Tawk
> Assignee: Steven Hawkins
> Priority: Major
>
> We are getting an infinite loop when executing the below SQL:
> {code:java}
> SELECT c._COMPTE,
> u.CalculatedField,
> cl.CHAMPSFCP__VALEUR,
> ch_41.CH41__VALEUR,
> ch_5.CH5__VALEUR
> FROM OmgModel_Z1rP.OMG.dbo.CPARTFCP c
> LEFT JOIN BInv6BusinessModel.FREPACCOUNTUNION u
> ON u.FREP_AFAINB = c._USERNAME
> AND u.CalculatedField6 = 'B'
> LEFT JOIN BInv6BusinessModel.ClientTypeCode cl
> ON c._COMPTE = cl.CHAMPSFCP__COMPTE
> LEFT JOIN (SELECT ch._COMPTE AS CH41__COMPTE,
> ch._VALEUR AS CH41__VALEUR
> FROM OmgModel_Z1rP.OMG.dbo.CHAMPSFCP ch
> WHERE ch._NUMCHAMPS = 41) ch_41
> ON c._COMPTE = ch_41.CH41__COMPTE
> LEFT JOIN (SELECT ch._COMPTE AS CH5__COMPTE,
> ch._VALEUR AS CH5__VALEUR
> FROM OmgModel_Z1rP.OMG.dbo.CHAMPSFCP ch
> WHERE ch._NUMCHAMPS = 5) ch_5
> ON c._COMPTE = ch_5.CH5__COMPTE LIMIT 0, 10
> {code}
> After debugging, find out that the issue is coming from the class RulePlanOuterJoins method planLeftOuterJoinAssociativityBeforePlanning.
> the issue is coming from the below code line, if removed the issue is not reproduced:
> {code:java}
> changedAny |= val;
> {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
More information about the teiid-issues
mailing list