Bug #18316
Rerun job with failed hosts fails with "Stack level too deep" in the log.
Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
Fixed in Releases:
Found in Releases:
Description
Started as a reproducer for https://bugzilla.redhat.com/show_bug.cgi?id=1406489
The test didn't reproduce the issue, but it's already written.
Associated revisions
History
#1
Updated by The Foreman Bot over 5 years ago
- Status changed from New to Ready For Testing
- Pull request https://github.com/theforeman/foreman_remote_execution/pull/226 added
#2
Updated by Ivan Necas over 5 years ago
- Target version set to 1.11.3
- Bugzilla link set to 1406489
#3
Updated by Shimon Shtein over 5 years ago
After an investigation, I was able to reproduce the issue. The problem was in query syntax: originally rerun query was generating a huge OR statement like: "name = X or name = Y...". This query could not be loaded into AST inside scoped_search without blowing up the stack.
#4
Updated by Shimon Shtein over 5 years ago
- Subject changed from Add test for job invocation UI controller to Rerun job with failed hosts fails with "Stack level too deep" in the log.
#5
Updated by Ivan Necas over 5 years ago
- Target version changed from 1.11.3 to 1.12.4
#6
Updated by Ivan Necas over 5 years ago
- Status changed from Ready For Testing to Closed
#7
Updated by Ivan Necas about 5 years ago
- Legacy Backlogs Release (now unused) set to 262
Fixes #18316 - Changed scoped_search query to :in for hosts enum
When asking to target a specific set of hosts (like in case of failed
hosts), a `name = X or name = Y...` query was generated. This query
caused a very deep stack recursion in scoped_search AST. This commit
changes the query to `name ^ (X, Y...)` that will not require the same
treatment in AST.