-
Bug
-
Resolution: Fixed
-
Medium (View bug fix roadmap)
-
6.3, 6.3.3
I have used the JQL function module quite a lot in my plugin, JQL Tricks. It is a really useful plugin module to extend JIRA's search capabilities and works well for most cases.
But with the growing list of enterprise customers, performance has become a great problem. After introducing many improvements to the new JQL functions, there still a bottleneck which appears to be coming from IssueIdValidator.
The problem comes when the return type is ISSUE. It is very convinient as it lets users search with clauses like "issue in .." but SearchService adds a lot of load in such cases because of the extra validations. For example, if a query returns 40K issues, IssueIdValidator verifies that each of the issue id is a valid one. This extra validation is sometimes totally useless because permissions are already checked once. But there is no way to override it as pe the current architecture
This is completely unrelated to JQL Tricks or any other plugin as I reproduced the same issue with a simple plugin where I used the following query directly in issue navigator and in a simple JQL function that returns issues matching the same. The time taken to return the result using the JQL function is a lot more than the direct usage.
issuetype in standardIssueTypes()
To make sure, I have added profile logs in the code and here is the result.
2013-12-10 22:08:42,375 http-8080-3 DEBUG jobinkk 1327x325x1 1ue9yju 0:0:0:0:0:0:0:1%0 /secure/IssueNavigator!executeAdvanced.jspa [atlassian.util.profiling.UtilTimerStack] [72132ms] - /secure/IssueNavigator!executeAdvanced.jspa [33017ms] - IssueNavigator.execute() [2513ms] - Test JQL Function [75ms] - Lucene Query [0ms] - IssueIndexManager.getIssueSearcher() [15ms] - Permission Query [9ms] - PermissionManager.getProjects() [0ms] - List.iterator() [0ms] - Iterator.hasNext()
Out of the 33017ms, the plugin code takes only 2513ms. Attached is the code used in the test plugin. You can reproduce the numbers in a test instance with a large number of issues.
There should be a way to either skip the validation or do is faster.
- is related to
-
JRASERVER-34436 Skip view issue permission check during jql "issue in" validation for function operands
- Closed
-
JRASERVER-39375 Enable JQL functions to opt out of heavy processing
- Gathering Interest
-
JDEV-29743 Failed to load
- causes
-
JDEV-30741 Failed to load
-
JDEV-30838 Failed to load
- relates to
-
JDEV-29380 Loading...
-
JDEV-32531 Loading...
- was cloned as
-
JDEV-29446 Loading...
Form Name |
---|
[JRASERVER-36368] JQL Issue functions have major performance issues
This is very encouraging. Thanks Norman. Looking forward to the release with these changes
An option to skip the validation via API would be even better but this is definitely a big improvement.
Some profiling logs, when working on 100K issues (returning 62K from JQL function):
2014-08-01 10:26:58,678 http-bio-8080-exec-11 DEBUG natashbar 626x11x2 ojzfz2 0:0:0:0:0:0:0:1 /rest/issueNav/1/issueTable [atlassian.util.profiling.UtilTimerStack] [4542ms] - DefaultSearchService.validateQuery() [4542ms] - IssueIdValidator.validate() [3355ms] - DefaultJqlOperandResolver.getValues() - function [3355ms] - Test JQL Function [77ms] - Lucene Query [0ms] - IssueIndexManager.getIssueSearcher() [6ms] - Permission Query [4ms] - PermissionManager.getProjects() [0ms] - Collection.iterator() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Collection.iterator() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - PermissionManager.getProjectObjects() [0ms] - Collection.iterator() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - DefaultJqlOperandResolver.getValues() - function [71ms] - Lucene Search [3239ms] - Retrieve From cache/db and filter [1187ms] - IssueIdValidator.validate() - looping [21ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [17ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [20ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [17ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [17ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [17ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [18ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [17ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [19ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [21ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [17ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [17ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [17ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [17ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [17ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [143ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [17ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [17ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [17ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [18ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [17ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [17ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [17ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [17ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [17ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [17ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [17ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [17ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() [16ms] - DefaultIssueManager.getIdsOfMissingIssues() [1ms] - DefaultIssueManager.checkIssuesExist() [9ms] - DefaultIssueManager.getIdsOfMissingIssues() [0ms] - DefaultIssueManager.checkIssuesExist() 2014-08-01 10:26:58,679 http-bio-8080-exec-11 DEBUG natashbar 626x11x2 ojzfz2 0:0:0:0:0:0:0:1 /rest/issueNav/1/issueTable [atlassian.util.profiling.UtilTimerStack] [1ms] - PermissionManager.getProjectObjects() 2014-08-01 10:26:58,787 http-bio-8080-exec-12 DEBUG natashbar 626x10x1 ojzfz2 0:0:0:0:0:0:0:1 /secure/QueryComponent!Jql.jspa [atlassian.util.profiling.UtilTimerStack] [4657ms] - /jira/secure/QueryComponent!Jql.jspa [0ms] - PermissionManager.hasPermission() [4654ms] - QueryAction.execute() [4652ms] - MultiClauseDecoratorContextFactory.getClauseContext() [3361ms] - DefaultJqlOperandResolver.getValues() - function [3361ms] - Test JQL Function [75ms] - Lucene Query [0ms] - IssueIndexManager.getIssueSearcher() [5ms] - Permission Query [2ms] - PermissionManager.getProjects() [0ms] - Collection.iterator() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Collection.iterator() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - PermissionManager.getProjectObjects() [0ms] - Collection.iterator() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - Iterator.next() [0ms] - Iterator.hasNext() [0ms] - DefaultJqlOperandResolver.getValues() - function [70ms] - Lucene Search [3248ms] - Retrieve From cache/db and filter [3ms] - MultiClauseDecoratorContextFactory.getClauseContext() - looping [1288ms] - MultiClauseDecoratorContextFactory.getClauseContext() - delegate [62ms] - IssueIdClauseContextFactory.getClauseContext() - get literals [62ms] - DefaultJqlOperandResolver.getValues() - multivalue [61ms] - MultiValueOperandHandler.getValues() [1226ms] - IssueIdClauseContextFactory.getClauseContext() - creating context [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [18ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [18ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [16ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [16ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [24ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [24ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [20ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [20ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [16ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [16ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [18ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [18ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [16ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [16ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [18ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [18ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [158ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [158ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [18ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [18ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [16ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [16ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [19ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [19ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [16ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [16ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [19ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [19ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [16ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [16ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [18ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [18ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [18ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [18ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [17ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [17ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [21ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [21ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() [10ms] - IssueIdClauseContextFactory.getProjectIssueTypesBatch() [10ms] - DefaultIssueManager.getProjectIssueTypePairsByIds() 2014-08-01 10:26:58,788 http-bio-8080-exec-12 DEBUG natashbar 626x10x1 ojzfz2 0:0:0:0:0:0:0:1 /secure/QueryComponent!Jql.jspa [jira.web.filters.ThreadLocalQueryProfiler] PROFILED : 0 keys (0 unique) took 0ms/4658ms : 0.0% 2014-08-01 10:26:59,444 http-bio-8080-exec-11 DEBUG natashbar 626x11x2 ojzfz2 0:0:0:0:0:0:0:1 /rest/issueNav/1/issueTable [atlassian.util.profiling.UtilTimerStack] [763ms] - Searching and sorting with Collector [0ms] - IssueIndexManager.getIssueSearcher() [748ms] - Lucene Search 2014-08-01 10:27:00,356 http-bio-8080-exec-11 DEBUG natashbar 626x11x2 ojzfz2 0:0:0:0:0:0:0:1 /rest/issueNav/1/issueTable [atlassian.util.profiling.UtilTimerStack] [905ms] - IssueTableHtml [2ms] - Rendering navigable field 'issuetype' for issue: VUTS-10003 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-10003 [1ms] - Rendering navigable field 'summary' for issue: VUTS-10003 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-10003 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-10003 [2ms] - Rendering navigable field 'priority' for issue: VUTS-10003 [2ms] - Rendering navigable field 'status' for issue: VUTS-10003 [0ms] - Rendering navigable field 'resolution' for issue: VUTS-10003 [1ms] - Rendering navigable field 'created' for issue: VUTS-10003 [1ms] - Rendering navigable field 'updated' for issue: VUTS-10003 [1ms] - Rendering navigable field 'duedate' for issue: VUTS-10003 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-10002 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-10002 [2ms] - Rendering navigable field 'summary' for issue: VUTS-10002 [3ms] - Rendering navigable field 'assignee' for issue: VUTS-10002 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-10002 [1ms] - Rendering navigable field 'priority' for issue: VUTS-10002 [2ms] - Rendering navigable field 'status' for issue: VUTS-10002 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-10002 [1ms] - Rendering navigable field 'created' for issue: VUTS-10002 [0ms] - Rendering navigable field 'updated' for issue: VUTS-10002 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-10002 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-10001 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-10001 [1ms] - Rendering navigable field 'summary' for issue: VUTS-10001 [3ms] - Rendering navigable field 'assignee' for issue: VUTS-10001 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-10001 [1ms] - Rendering navigable field 'priority' for issue: VUTS-10001 [3ms] - Rendering navigable field 'status' for issue: VUTS-10001 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-10001 [0ms] - Rendering navigable field 'created' for issue: VUTS-10001 [1ms] - Rendering navigable field 'updated' for issue: VUTS-10001 [1ms] - Rendering navigable field 'duedate' for issue: VUTS-10001 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-10000 [2ms] - Rendering navigable field 'issuekey' for issue: VUTS-10000 [1ms] - Rendering navigable field 'summary' for issue: VUTS-10000 [3ms] - Rendering navigable field 'assignee' for issue: VUTS-10000 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-10000 [1ms] - Rendering navigable field 'priority' for issue: VUTS-10000 [2ms] - Rendering navigable field 'status' for issue: VUTS-10000 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-10000 [1ms] - Rendering navigable field 'created' for issue: VUTS-10000 [0ms] - Rendering navigable field 'updated' for issue: VUTS-10000 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-10000 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9999 [2ms] - Rendering navigable field 'issuekey' for issue: VUTS-9999 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9999 [4ms] - Rendering navigable field 'assignee' for issue: VUTS-9999 [3ms] - Rendering navigable field 'reporter' for issue: VUTS-9999 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9999 [3ms] - Rendering navigable field 'status' for issue: VUTS-9999 [0ms] - Rendering navigable field 'resolution' for issue: VUTS-9999 [0ms] - Rendering navigable field 'created' for issue: VUTS-9999 [0ms] - Rendering navigable field 'updated' for issue: VUTS-9999 [1ms] - Rendering navigable field 'duedate' for issue: VUTS-9999 [2ms] - Rendering navigable field 'issuetype' for issue: VUTS-9998 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9998 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9998 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9998 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9998 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9998 [2ms] - Rendering navigable field 'status' for issue: VUTS-9998 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9998 [0ms] - Rendering navigable field 'created' for issue: VUTS-9998 [0ms] - Rendering navigable field 'updated' for issue: VUTS-9998 [1ms] - Rendering navigable field 'duedate' for issue: VUTS-9998 [2ms] - Rendering navigable field 'issuetype' for issue: VUTS-9997 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9997 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9997 [3ms] - Rendering navigable field 'assignee' for issue: VUTS-9997 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9997 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9997 [2ms] - Rendering navigable field 'status' for issue: VUTS-9997 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9997 [1ms] - Rendering navigable field 'created' for issue: VUTS-9997 [0ms] - Rendering navigable field 'updated' for issue: VUTS-9997 [1ms] - Rendering navigable field 'duedate' for issue: VUTS-9997 [2ms] - Rendering navigable field 'issuetype' for issue: VUTS-9996 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9996 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9996 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9996 [3ms] - Rendering navigable field 'reporter' for issue: VUTS-9996 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9996 [2ms] - Rendering navigable field 'status' for issue: VUTS-9996 [0ms] - Rendering navigable field 'resolution' for issue: VUTS-9996 [1ms] - Rendering navigable field 'created' for issue: VUTS-9996 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9996 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9996 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9995 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9995 [2ms] - Rendering navigable field 'summary' for issue: VUTS-9995 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9995 [3ms] - Rendering navigable field 'reporter' for issue: VUTS-9995 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9995 [2ms] - Rendering navigable field 'status' for issue: VUTS-9995 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9995 [0ms] - Rendering navigable field 'created' for issue: VUTS-9995 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9995 [1ms] - Rendering navigable field 'duedate' for issue: VUTS-9995 [2ms] - Rendering navigable field 'issuetype' for issue: VUTS-9994 [2ms] - Rendering navigable field 'issuekey' for issue: VUTS-9994 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9994 [4ms] - Rendering navigable field 'assignee' for issue: VUTS-9994 [3ms] - Rendering navigable field 'reporter' for issue: VUTS-9994 [2ms] - Rendering navigable field 'priority' for issue: VUTS-9994 [2ms] - Rendering navigable field 'status' for issue: VUTS-9994 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9994 [1ms] - Rendering navigable field 'created' for issue: VUTS-9994 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9994 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9994 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9993 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9993 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9993 [3ms] - Rendering navigable field 'assignee' for issue: VUTS-9993 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9993 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9993 [2ms] - Rendering navigable field 'status' for issue: VUTS-9993 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9993 [1ms] - Rendering navigable field 'created' for issue: VUTS-9993 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9993 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9993 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9992 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9992 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9992 [3ms] - Rendering navigable field 'assignee' for issue: VUTS-9992 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9992 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9992 [2ms] - Rendering navigable field 'status' for issue: VUTS-9992 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9992 [1ms] - Rendering navigable field 'created' for issue: VUTS-9992 [0ms] - Rendering navigable field 'updated' for issue: VUTS-9992 [1ms] - Rendering navigable field 'duedate' for issue: VUTS-9992 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9991 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9991 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9991 [3ms] - Rendering navigable field 'assignee' for issue: VUTS-9991 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9991 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9991 [2ms] - Rendering navigable field 'status' for issue: VUTS-9991 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9991 [1ms] - Rendering navigable field 'created' for issue: VUTS-9991 [0ms] - Rendering navigable field 'updated' for issue: VUTS-9991 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9991 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9990 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9990 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9990 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9990 [3ms] - Rendering navigable field 'reporter' for issue: VUTS-9990 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9990 [2ms] - Rendering navigable field 'status' for issue: VUTS-9990 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9990 [1ms] - Rendering navigable field 'created' for issue: VUTS-9990 [0ms] - Rendering navigable field 'updated' for issue: VUTS-9990 [1ms] - Rendering navigable field 'duedate' for issue: VUTS-9990 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9984 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9984 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9984 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9984 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9984 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9984 [2ms] - Rendering navigable field 'status' for issue: VUTS-9984 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9984 [0ms] - Rendering navigable field 'created' for issue: VUTS-9984 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9984 [1ms] - Rendering navigable field 'duedate' for issue: VUTS-9984 [2ms] - Rendering navigable field 'issuetype' for issue: VUTS-9983 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9983 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9983 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9983 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9983 [2ms] - Rendering navigable field 'priority' for issue: VUTS-9983 [2ms] - Rendering navigable field 'status' for issue: VUTS-9983 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9983 [0ms] - Rendering navigable field 'created' for issue: VUTS-9983 [0ms] - Rendering navigable field 'updated' for issue: VUTS-9983 [1ms] - Rendering navigable field 'duedate' for issue: VUTS-9983 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9982 [2ms] - Rendering navigable field 'issuekey' for issue: VUTS-9982 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9982 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9982 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9982 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9982 [2ms] - Rendering navigable field 'status' for issue: VUTS-9982 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9982 [0ms] - Rendering navigable field 'created' for issue: VUTS-9982 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9982 [1ms] - Rendering navigable field 'duedate' for issue: VUTS-9982 [2ms] - Rendering navigable field 'issuetype' for issue: VUTS-9981 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9981 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9981 [3ms] - Rendering navigable field 'assignee' for issue: VUTS-9981 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9981 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9981 [3ms] - Rendering navigable field 'status' for issue: VUTS-9981 [0ms] - Rendering navigable field 'resolution' for issue: VUTS-9981 [1ms] - Rendering navigable field 'created' for issue: VUTS-9981 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9981 [1ms] - Rendering navigable field 'duedate' for issue: VUTS-9981 [2ms] - Rendering navigable field 'issuetype' for issue: VUTS-9980 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9980 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9980 [3ms] - Rendering navigable field 'assignee' for issue: VUTS-9980 [3ms] - Rendering navigable field 'reporter' for issue: VUTS-9980 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9980 [2ms] - Rendering navigable field 'status' for issue: VUTS-9980 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9980 [1ms] - Rendering navigable field 'created' for issue: VUTS-9980 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9980 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9980 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9979 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9979 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9979 [3ms] - Rendering navigable field 'assignee' for issue: VUTS-9979 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9979 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9979 [2ms] - Rendering navigable field 'status' for issue: VUTS-9979 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9979 [1ms] - Rendering navigable field 'created' for issue: VUTS-9979 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9979 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9979 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9978 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9978 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9978 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9978 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9978 [2ms] - Rendering navigable field 'priority' for issue: VUTS-9978 [1ms] - Rendering navigable field 'status' for issue: VUTS-9978 [0ms] - Rendering navigable field 'resolution' for issue: VUTS-9978 [1ms] - Rendering navigable field 'created' for issue: VUTS-9978 [2ms] - Rendering navigable field 'updated' for issue: VUTS-9978 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9978 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9977 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9977 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9977 [3ms] - Rendering navigable field 'assignee' for issue: VUTS-9977 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9977 [2ms] - Rendering navigable field 'priority' for issue: VUTS-9977 [2ms] - Rendering navigable field 'status' for issue: VUTS-9977 [0ms] - Rendering navigable field 'resolution' for issue: VUTS-9977 [1ms] - Rendering navigable field 'created' for issue: VUTS-9977 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9977 [1ms] - Rendering navigable field 'duedate' for issue: VUTS-9977 [2ms] - Rendering navigable field 'issuetype' for issue: VUTS-9976 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9976 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9976 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9976 [3ms] - Rendering navigable field 'reporter' for issue: VUTS-9976 [2ms] - Rendering navigable field 'priority' for issue: VUTS-9976 [2ms] - Rendering navigable field 'status' for issue: VUTS-9976 [0ms] - Rendering navigable field 'resolution' for issue: VUTS-9976 [1ms] - Rendering navigable field 'created' for issue: VUTS-9976 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9976 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9976 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9975 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9975 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9975 [3ms] - Rendering navigable field 'assignee' for issue: VUTS-9975 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9975 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9975 [2ms] - Rendering navigable field 'status' for issue: VUTS-9975 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9975 [1ms] - Rendering navigable field 'created' for issue: VUTS-9975 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9975 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9975 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9958 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9958 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9958 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9958 [3ms] - Rendering navigable field 'reporter' for issue: VUTS-9958 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9958 [2ms] - Rendering navigable field 'status' for issue: VUTS-9958 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9958 [0ms] - Rendering navigable field 'created' for issue: VUTS-9958 [0ms] - Rendering navigable field 'updated' for issue: VUTS-9958 [1ms] - Rendering navigable field 'duedate' for issue: VUTS-9958 [2ms] - Rendering navigable field 'issuetype' for issue: VUTS-9957 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9957 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9957 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9957 [3ms] - Rendering navigable field 'reporter' for issue: VUTS-9957 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9957 [2ms] - Rendering navigable field 'status' for issue: VUTS-9957 [0ms] - Rendering navigable field 'resolution' for issue: VUTS-9957 [1ms] - Rendering navigable field 'created' for issue: VUTS-9957 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9957 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9957 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9956 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9956 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9956 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9956 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9956 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9956 [2ms] - Rendering navigable field 'status' for issue: VUTS-9956 [0ms] - Rendering navigable field 'resolution' for issue: VUTS-9956 [1ms] - Rendering navigable field 'created' for issue: VUTS-9956 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9956 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9956 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9955 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9955 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9955 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9955 [3ms] - Rendering navigable field 'reporter' for issue: VUTS-9955 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9955 [2ms] - Rendering navigable field 'status' for issue: VUTS-9955 [0ms] - Rendering navigable field 'resolution' for issue: VUTS-9955 [1ms] - Rendering navigable field 'created' for issue: VUTS-9955 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9955 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9955 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9947 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9947 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9947 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9947 [3ms] - Rendering navigable field 'reporter' for issue: VUTS-9947 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9947 [2ms] - Rendering navigable field 'status' for issue: VUTS-9947 [0ms] - Rendering navigable field 'resolution' for issue: VUTS-9947 [1ms] - Rendering navigable field 'created' for issue: VUTS-9947 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9947 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9947 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9946 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9946 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9946 [3ms] - Rendering navigable field 'assignee' for issue: VUTS-9946 [3ms] - Rendering navigable field 'reporter' for issue: VUTS-9946 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9946 [2ms] - Rendering navigable field 'status' for issue: VUTS-9946 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9946 [1ms] - Rendering navigable field 'created' for issue: VUTS-9946 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9946 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9946 [2ms] - Rendering navigable field 'issuetype' for issue: VUTS-9945 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9945 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9945 [3ms] - Rendering navigable field 'assignee' for issue: VUTS-9945 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9945 [2ms] - Rendering navigable field 'priority' for issue: VUTS-9945 [2ms] - Rendering navigable field 'status' for issue: VUTS-9945 [0ms] - Rendering navigable field 'resolution' for issue: VUTS-9945 [1ms] - Rendering navigable field 'created' for issue: VUTS-9945 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9945 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9945 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9944 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9944 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9944 [3ms] - Rendering navigable field 'assignee' for issue: VUTS-9944 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9944 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9944 [2ms] - Rendering navigable field 'status' for issue: VUTS-9944 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9944 [1ms] - Rendering navigable field 'created' for issue: VUTS-9944 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9944 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9944 [2ms] - Rendering navigable field 'issuetype' for issue: VUTS-9943 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9943 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9943 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9943 [3ms] - Rendering navigable field 'reporter' for issue: VUTS-9943 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9943 [2ms] - Rendering navigable field 'status' for issue: VUTS-9943 [0ms] - Rendering navigable field 'resolution' for issue: VUTS-9943 [1ms] - Rendering navigable field 'created' for issue: VUTS-9943 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9943 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9943 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9942 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9942 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9942 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9942 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9942 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9942 [2ms] - Rendering navigable field 'status' for issue: VUTS-9942 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9942 [0ms] - Rendering navigable field 'created' for issue: VUTS-9942 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9942 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9942 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9941 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9941 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9941 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9941 [3ms] - Rendering navigable field 'reporter' for issue: VUTS-9941 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9941 [2ms] - Rendering navigable field 'status' for issue: VUTS-9941 [0ms] - Rendering navigable field 'resolution' for issue: VUTS-9941 [1ms] - Rendering navigable field 'created' for issue: VUTS-9941 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9941 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9941 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9940 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9940 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9940 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9940 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9940 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9940 [1ms] - Rendering navigable field 'status' for issue: VUTS-9940 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9940 [1ms] - Rendering navigable field 'created' for issue: VUTS-9940 [0ms] - Rendering navigable field 'updated' for issue: VUTS-9940 [1ms] - Rendering navigable field 'duedate' for issue: VUTS-9940 [2ms] - Rendering navigable field 'issuetype' for issue: VUTS-9939 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9939 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9939 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9939 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9939 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9939 [2ms] - Rendering navigable field 'status' for issue: VUTS-9939 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9939 [1ms] - Rendering navigable field 'created' for issue: VUTS-9939 [0ms] - Rendering navigable field 'updated' for issue: VUTS-9939 [1ms] - Rendering navigable field 'duedate' for issue: VUTS-9939 [2ms] - Rendering navigable field 'issuetype' for issue: VUTS-9938 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9938 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9938 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9938 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9938 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9938 [2ms] - Rendering navigable field 'status' for issue: VUTS-9938 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9938 [1ms] - Rendering navigable field 'created' for issue: VUTS-9938 [0ms] - Rendering navigable field 'updated' for issue: VUTS-9938 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9938 [2ms] - Rendering navigable field 'issuetype' for issue: VUTS-9937 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9937 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9937 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9937 [3ms] - Rendering navigable field 'reporter' for issue: VUTS-9937 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9937 [2ms] - Rendering navigable field 'status' for issue: VUTS-9937 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9937 [0ms] - Rendering navigable field 'created' for issue: VUTS-9937 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9937 [1ms] - Rendering navigable field 'duedate' for issue: VUTS-9937 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9936 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9936 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9936 [3ms] - Rendering navigable field 'assignee' for issue: VUTS-9936 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9936 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9936 [2ms] - Rendering navigable field 'status' for issue: VUTS-9936 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9936 [0ms] - Rendering navigable field 'created' for issue: VUTS-9936 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9936 [1ms] - Rendering navigable field 'duedate' for issue: VUTS-9936 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9935 [2ms] - Rendering navigable field 'issuekey' for issue: VUTS-9935 [0ms] - Rendering navigable field 'summary' for issue: VUTS-9935 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9935 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9935 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9935 [2ms] - Rendering navigable field 'status' for issue: VUTS-9935 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9935 [1ms] - Rendering navigable field 'created' for issue: VUTS-9935 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9935 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9935 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9934 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9934 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9934 [3ms] - Rendering navigable field 'assignee' for issue: VUTS-9934 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9934 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9934 [2ms] - Rendering navigable field 'status' for issue: VUTS-9934 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9934 [1ms] - Rendering navigable field 'created' for issue: VUTS-9934 [0ms] - Rendering navigable field 'updated' for issue: VUTS-9934 [1ms] - Rendering navigable field 'duedate' for issue: VUTS-9934 [2ms] - Rendering navigable field 'issuetype' for issue: VUTS-9933 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9933 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9933 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9933 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9933 [2ms] - Rendering navigable field 'priority' for issue: VUTS-9933 [2ms] - Rendering navigable field 'status' for issue: VUTS-9933 [0ms] - Rendering navigable field 'resolution' for issue: VUTS-9933 [1ms] - Rendering navigable field 'created' for issue: VUTS-9933 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9933 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9933 [2ms] - Rendering navigable field 'issuetype' for issue: VUTS-9932 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9932 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9932 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9932 [3ms] - Rendering navigable field 'reporter' for issue: VUTS-9932 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9932 [2ms] - Rendering navigable field 'status' for issue: VUTS-9932 [0ms] - Rendering navigable field 'resolution' for issue: VUTS-9932 [1ms] - Rendering navigable field 'created' for issue: VUTS-9932 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9932 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9932 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9931 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9931 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9931 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9931 [3ms] - Rendering navigable field 'reporter' for issue: VUTS-9931 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9931 [2ms] - Rendering navigable field 'status' for issue: VUTS-9931 [0ms] - Rendering navigable field 'resolution' for issue: VUTS-9931 [1ms] - Rendering navigable field 'created' for issue: VUTS-9931 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9931 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9931 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9930 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9930 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9930 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9930 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9930 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9930 [2ms] - Rendering navigable field 'status' for issue: VUTS-9930 [0ms] - Rendering navigable field 'resolution' for issue: VUTS-9930 [1ms] - Rendering navigable field 'created' for issue: VUTS-9930 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9930 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9930 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9921 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9921 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9921 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9921 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9921 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9921 [2ms] - Rendering navigable field 'status' for issue: VUTS-9921 [0ms] - Rendering navigable field 'resolution' for issue: VUTS-9921 [1ms] - Rendering navigable field 'created' for issue: VUTS-9921 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9921 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9921 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9920 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9920 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9920 [3ms] - Rendering navigable field 'assignee' for issue: VUTS-9920 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9920 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9920 [2ms] - Rendering navigable field 'status' for issue: VUTS-9920 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9920 [1ms] - Rendering navigable field 'created' for issue: VUTS-9920 [0ms] - Rendering navigable field 'updated' for issue: VUTS-9920 [1ms] - Rendering navigable field 'duedate' for issue: VUTS-9920 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9919 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9919 [1ms] - Rendering navigable field 'summary' for issue: VUTS-9919 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9919 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9919 [1ms] - Rendering navigable field 'priority' for issue: VUTS-9919 [2ms] - Rendering navigable field 'status' for issue: VUTS-9919 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9919 [1ms] - Rendering navigable field 'created' for issue: VUTS-9919 [0ms] - Rendering navigable field 'updated' for issue: VUTS-9919 [1ms] - Rendering navigable field 'duedate' for issue: VUTS-9919 [1ms] - Rendering navigable field 'issuetype' for issue: VUTS-9907 [1ms] - Rendering navigable field 'issuekey' for issue: VUTS-9907 [0ms] - Rendering navigable field 'summary' for issue: VUTS-9907 [2ms] - Rendering navigable field 'assignee' for issue: VUTS-9907 [2ms] - Rendering navigable field 'reporter' for issue: VUTS-9907 [2ms] - Rendering navigable field 'priority' for issue: VUTS-9907 [3ms] - Rendering navigable field 'status' for issue: VUTS-9907 [1ms] - Rendering navigable field 'resolution' for issue: VUTS-9907 [1ms] - Rendering navigable field 'created' for issue: VUTS-9907 [1ms] - Rendering navigable field 'updated' for issue: VUTS-9907 [0ms] - Rendering navigable field 'duedate' for issue: VUTS-9907
A few notes:
- This takes about 8 seconds end-to-end, which used to be around 80.
- Context creation and validation run in parallel, so numbers should not simply be added. Time for "IssueIdValidator.validate()" is the main factor that affects user's experience.
- "IssueIdValidator.validate() - looping" means we iterator over the whole list, while each "DefaultIssueManager.getIdsOfMissingIssues()" indicates batching up to 1000 issue IDs and validating against database.
Norman,
List of issue IDs will be checked for existence in database, but the issues won't be loaded again (one by one). From my understanding it is required so that we don't end up passing issue ids to a clause requiring project IDs or issue keys
That should be an option left to the function in my opinion. That extra validation is taking up all the time! Can you try out the attached plugin after the changes are made on your end and post the profiling results?
In the example I gave, the plugin code takes only 2513ms out of the 33017ms. How does it work in your test environment? Can we get some numbers?
I am left wanting more because I know that lot of the customers operate on environments with hundreds of thousands of issues and I am afraid a 10 times faster solution will still fall short of their expectations!
There are also talks about introducing a new API for JQL functions (to override the default behaviour), but nothing is set yet
That would be awesome!
They will still be validated. List of issue IDs will be checked for existence in database, but the issues won't be loaded again (one by one). From my understanding it is required so that we don't end up passing issue ids to a clause requiring project IDs or issue keys. I have talked to a few people who have a good understanding in this area (originally wrote this piece of code). There are also talks about introducing a new API for JQL functions (to override the default behaviour), but nothing is set yet. We will probably wait a little and get some feedback from this fix, please get back to us with your findings once this is shipped.
Norman,
Does this mean that the ids (1 to 100000) will be validated again to see if those are valid issue ids? In my testing, it was those extra validations which was taking most of the time. Is there a way we can skip those validations? I have gone through the source code and I understand this would be a change in the current API but looks like it is doable pretty easily.
Or maybe you can provide an option to inject a new ClauseValidator somehow and/or define a new datatype that extends Issue? Just another thought.
For most JQL functions, added via the module, we are returning valid data. It doesn't make sense to validate them again. If there is a way we can skip it, that would be prefect.
We have made some changes in the areas I mentioned above to make such JQL functions faster. Even though they are more than 10 times faster now, but it is good to keep in mind that a function that returns 100,000 issues will not likely make a fast JQL query. The reason is JQL is not a fully blown language and functions are merely macros which will be evaluated to the values they return. The query "issue in issuetypeJQLFunction()" will be expanded to "issue in (1, 2, 3, ..., 100000)" before being processed.
While changes for this issue are being reviewed and tested, you might notice another improvement in the next release (6.3.3) in this area which might reduce run-time of such queries. I will update this issue when the fixes are made into a release.
Just to update the status, I have identified two bottlenecks which contribute to this problem:
- When a context is being made for the final query to execute.
- When the query is being validated for errors/warnings.
Runtime of such queries are proportional to the number of issues returned by the subquery/function.
We're currently discussing ways to avoid/alleviate the bottlenecks.
Mahesh,
I am interested too. What kind of functions did you write by yourself? I mean, which function did you notice performs better than the equivalent JQL Tricks plugin?
I am the author of the JQL Tricks plugin and in my investigation, the bottleneck is on the JIRA code and I am interested to know if there are other options. Can you give some specific details about those 4 functions?
Do you have any comparison between the performance of those functions with the equivalent JQLT functions?
Hi Mahesh, how did you replace those jtricks functions? Have you written another plugin or is it some other solution?
Regards
Gael
We have disabled jTricks as well. We disabled this in the 2nd week of February, and have not had any issues since. In fact, my team has tried to replicate the most commonly used functions with our own code. So far, we have replaced four functions, and have not hit any performance issues with this new code (four weeks and running).
BTW: we have about 600,000+ records in JIRA (and growing) in a single instance.
We have had to disable jTricks because of this issue. With jTricks, the Jira server was crashing every day or so. After disabling jTricks, Jira has been rock solid for a week. I had a great jTricks-based query set up to color my Agile cards in a special way if the issue was blocked by another issue or was blocking another issue, or used to be blocked and was the blocking case was resolved. This was a great help in scheduling. Though I'm not a Jira admin, my impression is that scalability is Jira's Achilles' heel, and this is yet another example.
+1. We are having this problem too. It caused our production Jira server crash almost once a day.
I also think that you should listen to enterprise users more than on customers with less users. We have about 300 very active users. And we create about 25 000 issues each year (rising).
We notice lately that we can not show some filter on a dashboard and we had to relocate certain activities as a subscription in the night. And it is already foreseeable that some filters will follow soon.
That's a bit offside comment, but is there a plan (or a request issue) to have votes in JIRA reflect the relative weight of a customer? I mean that the vote of a JIRA admin representative with several hundreds or thousands users may be more weighted than this of a small startup (please note that I have full respect for startup people though )...
That was just a thought...
I do embrace Jobin's comment, and fill a bit confused about Oswaldo's comment "We realise this issue causes pain to large companies and it is an issue we would like to fix. However, we still have been able to accommodate it in our backlog and consequently, it's not currently scheduled for any upcoming JIRA maintenance release."
As an admin of a JIRA instance used by several hundreds users, I occurred to meet the problem with JQL Tricks plugin that caused a freeze of our instance several times, so we had to disable some of the functions of the plugin to avoid severe performance issue (even had to restart our production instance during worktime due to OOM error after a user called such as function).
That's something that should really go into Atlassian roadmap when it can (and does!) affect performances of companies instances, that we cannot accomodate for ages, especially for such a core issue (people always do search for issues, filters are the core for dashboards, reporting...).
Regards
Gael
I am getting queries similar to this every other day and it is really disheartening. Is there anything we can do with this?
It is affecting a lot of customers and it is worse with the new versions of JIRA it seems. Simply stop using JQL functions or replacing them with index queries (like jqltField = "xyz") is like downgrading the functionality of JIRA.
Appreciate if you can put some thought in it and bump up the priority.
Oswaldo, Thanks for the response. As you rightly mentioned, it is a pain for big companies. It will be great if you can plan for a fix in the near future. Will closely monitor the issue for updates!
Not yet, and there's no known workaround but limiting the use of JQL functions of this kind in large environments.
We realise this issue causes pain to large companies and it is an issue we would like to fix. However, we still have been able to accommodate it in our backlog and consequently, it's not currently scheduled for any upcoming JIRA maintenance release.
Having said that, please watch the issue for updates as I will update its status as soon as new information is available.
Hope the information helps.
Regards,
Oswaldo Hernández.
JIRA Bugmaster.
[Atlassian].
Hi guys,
Any updates on this one? It is causing lot of grief in the enterprise user community and it would be nice to get at least a work around.
Although the example mentioned here is for issue functions, every other type has the same problem. Impact is different because number of issues is much more compared to other entities.
If we can find a decent way to fix this, then we should be able to workaround any possible compatibility issues ...
mlassau Is this something that would require us to break API compatibility to fix?
See https://answers.atlassian.com/questions/102748/how-to-query-on-a-subset-of-issues-in-a-jql-function-plugin for a discussion around the same topic.
Thanks for the fix in 6.3.4. I got a chance to test this and so far looks very encouraging.