]
Steven Hawkins updated TEIID-5864:
----------------------------------
Fix Version/s: 12.3.2
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
Fix For: 13.0, 12.2.2, 12.3.1, 12.3.2
Original Estimate: 4 hours
Time Spent: 5 hours
Remaining Estimate: 0 minutes
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}