You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Let us formulate a term first: Tagchain*[n], which stands for an operation of multiple tags with n number of operand.
For example FROM [Tagchain*2] stands for FROM 'tag1' | 'tag2'
Problem: Tagchain*[n] fails with a certain limit of n. The limit decreases following this condition:
The Tagchain is a nested operand (-1 for each level of nesting)
The Tagchain is a left operand
Limit example:
FROM [Tagchain*1006] does not result in
FROM [Tagchain*1007] results in stack overflow for exceeding the base limit
Limit decrease behavior example:
FROM [Tagchain*[limit = 1006]]
// 1006 is base limit
FROM 'sometag' & ( [Tagchain*[limit = 1005]] )
// -1 to being nested operand
FROM 'sometag' & ( [Tagchain*[limit = 1004]] ) & 'someothertag'
// -1 to being nested operand
// -1 to being left operand
`FROM ( [Tagchain*[limit = 1004]] ) & ( [Tagchain*[limit = 1004]] ) & ( [Tagchain*[limit = 1004]] ) & ( [Tagchain*[limit = 1005]] )
// right most: -1 being nested operand
// rest: -2 for being both nested operand and left operand
FROM ( [Tagchain*[limit = 1004]] ) & ( ( Tagchain*[limit = 1003] ) & ( Tagchain*[limit = 1004] ) )
// left most: -2 for being both nested operand and left operand
// mid: -1 for being left operand, -2 for being a level-2 nested operand
// right: -2 for being a level-2 nested operand
Expected behavior
Should not overflow?
How to reproduce
Use Actyx["queryAql"] to call AQL with the samples from current behavior section.
UX important consideration: While this behavior is not advertised in Actyx docs, this behavior is a potential stand-in for the absent equivalent of WHERE IN syntax in SQL.
There might also be limit decrease factor that I did not catch since these rules are derived from observation of phenomena with limited samples.
This limit has only been tested in linux-amd64 build of Actyx
The text was updated successfully, but these errors were encountered:
Partial mitigation is done in this PR #623.
Now databank does not entirely crash because of stack overflow, but the related query fails with an error/diagnostic event.
Product
Actyx
Operating System
None
Current behavior
Let us formulate a term first: Tagchain*[n], which stands for an operation of multiple tags with n number of operand.
For example
FROM [Tagchain*2]
stands forFROM 'tag1' | 'tag2'
Problem: Tagchain*[n] fails with a certain limit of
n
. The limit decreases following this condition:Limit example:
FROM [Tagchain*1006]
does not result inFROM [Tagchain*1007]
results in stack overflow for exceeding the base limitLimit decrease behavior example:
Expected behavior
Should not overflow?
How to reproduce
Use Actyx["queryAql"] to call AQL with the samples from
current behavior
section.For example:
Additional notes
UX important consideration: While this behavior is not advertised in Actyx docs, this behavior is a potential stand-in for the absent equivalent of
WHERE IN
syntax in SQL.There might also be limit decrease factor that I did not catch since these rules are derived from observation of phenomena with limited samples.
This limit has only been tested in linux-amd64 build of Actyx
The text was updated successfully, but these errors were encountered: