Details
-
Bug
-
Resolution: Fixed
-
Low
-
5.2.6, 6.0-OD-11/Beta1
-
None
-
5.02
-
Description
NOTE: This bug report is for JIRA Server. Using JIRA Cloud? See the corresponding bug report.
Reproduction sequence:
- Create and save filter H = priority = Critical.
- Create and save filter F = filter = H and not summary ~ clone.
- Create and save filter G = filter = F and assignee is empty.
- Click filter H in the "Favourite Filters" section in the Issue Navigator.
- Click filter G in the same section.
Observe: error message
Field 'filter' with value 'F' matches filter 'F' and causes a cyclical reference, this query can not be executed and should be edited.
Expected: no error message.
Speculation:
When SavedFilterClauseValidator checks whether any nested saved filters reference the current saved filter, it uses sessionSearchRequestManager.getCurrentObject(), which doesn't get updated on step 5 and returns H. Since G(F(H())) references H, the wrong error message is displayed.
Note that this problem manifests only if saved filters are revalidated. Revalidation does not happen if the query in the Issue Navigator equals() the query of the saved filter (DefaultIssueTableService.getIssueTable()). Due to the strange way Query.equals() is implemented (comparing query strings), it happens always if the saved filter features lowercase and (the saved version has uppercase AND, and the version in the Issue Navigator has lowercase and) and does not happen if the filter's query string coincides with the generated string.
Reproduced on JIRA 5.2.6 (Standalone) and OnDemand (https://bukkit.atlassian.net).
Attachments
Issue Links
- relates to
-
JRACLOUD-32772 SessionSearchRequestManager.getCurrentObject() is not updated when the user clicks another saved filter in the Issue Navigator
- Closed
- is cloned from
-
JRADEV-20948 Loading...