Type:
Task
Resolution:
Fixed
Priority:
L2 - Critical
Affects Version/s:
None
Component/s:
None
What/Where is the issue ?
Issue was discovered during investigation of this incident: https://app.incident.io/camunda/incidents/307
What happens is basically this: Optimize starts, PostConstruct from ManagementDashboardService is called, that sends lots of requests, ElasticSearch is overwhelmed, requests get queued, main thread gets blocked, Optimize liveness probe doesn't answer, kubernetes kills pod and restarts, everything starts over again, crash looping
Upon analysis of the Optimize Importer thread heap, it was noticed that the main thread is blocked by the ManagementDashboardService:
"main" #1 prio=5 os_prio=0 cpu=9652.67ms elapsed=167.25s tid=0x00007f41d1ee1800 nid=0x1c waiting on condition [0x00007f41d207a000]
java.lang.Thread .State: TIMED_WAITING (sleeping)
at java.lang.Thread .sleep(java.base@11.0.18/Native Method)
at org.camunda.optimize.service.es.writer.ElasticsearchWriterUtil.waitUntilTaskIsFinished(ElasticsearchWriterUtil.java:403)
at org.camunda.optimize.service.es.writer.ElasticsearchWriterUtil.tryDeleteByQueryRequest(ElasticsearchWriterUtil.java:234)
at org.camunda.optimize.service.es.writer.DashboardWriter.deleteManagementDashboard(DashboardWriter.java:202)
at org.camunda.optimize.service.dashboard.ManagementDashboardService.init(ManagementDashboardService.java:70)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@11.0.18/Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@11.0.18/NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@11.0.18/DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(java.base@11.0.18/Method.java:566)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:440)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.AbstractBeanFactory$$Lambda$311/0x00000001003ac440.getObject(Unknown Source)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
- locked <0x00000000eb972690> (a java.util.concurrent.ConcurrentHashMap)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:920)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
- locked <0x00000000eb945570> (a java.lang.Object )
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
at org.camunda.optimize.Main.main(Main.java:30)
By analyzing the code, the @PostConstruct tag is used on the initialization of the management dashboard, which fires several requests to elasticsearch. Since the main thread is blocked by that, the liveliness probe doesn't react and kubernetes kills the pod before it could start.
Solution Proposal
1) Make it configurable whether an instance should be the one creating the management dashboard. Like this we can stop the importer with being tasked to do that and leave it up to the webapp to do so. Default should be "true" i.e. by default the instances create the management dashboard
2) Check whether it really is necessary to delete and re-create all management dashboards at every start-up. A mechanism akin to how the instant preview dashboards are created could be used instead For now we will leave this as is, we assume that the reason for recreation is that this is easier than migrating in case of changes to management entities. We may evaluate this further in a follow up
3) Make sure the management dashboard creation/deletion runs in a separate thread than main. Currently it is running with the @PostConstruct tag. Instead it should be executed similar to what is described in OPT-6771 #
Testing Notes
Only solution part 1) can be tested easily:
1) setup a clean ES
2) set the config managementEntities.createOnStartup (env varCAMUNDA_OPTIMIZE_ENTITY_CREATE_ON_STARTUP) to false
3) start Optimize and confirm no management entities were created
and:
1) setup a clean ES
2) set the config managementEntities.createOnStartup (env var CAMUNDA_OPTIMIZE_ENTITY_CREATE_ON_STARTUP) to true
3) start Optimize and confirm management entities were created
This is the controller panel for Smart Panels app
is related to
OPT-6771
Replace PostConstruct with ApplicationReadyEvent where appropriate
Open
links to
There are no comments yet on this issue.
{"searchers":{"groups":[{"searchers":[{"name":"Project","id":"project","key":"issue.field.project","isShown":true,"lastViewed":1743824532805},{"name":"Summary","id":"summary","key":"issue.field.summary","isShown":true},{"name":"Type","id":"issuetype","key":"issue.field.issuetype","isShown":true,"lastViewed":1743824532810},{"name":"Status","id":"status","key":"issue.field.status","isShown":true,"lastViewed":1743824532818},{"name":"Priority","id":"priority","key":"issue.field.priority","isShown":true},{"name":"Resolution","id":"resolution","key":"issue.field.resolution","isShown":true},{"name":"Creator","id":"creator","key":"issue.field.creator","isShown":true},{"name":"Affects Version","id":"version","key":"issue.field.affectsversions","isShown":true},{"name":"Fix Version","id":"fixfor","key":"issue.field.fixversions","isShown":true,"lastViewed":1743824532828},{"name":"Component","id":"component","key":"issue.field.components","isShown":true},{"name":"% Limits","id":"workratio","key":"issue.field.workratio","isShown":true},{"name":"Link types","id":"issue_link_type","key":"issue.field.issuelinks","isShown":true},{"name":"Environment","id":"environment","key":"issue.field.environment","isShown":true},{"name":"Description","id":"description","key":"issue.field.description","isShown":true},{"name":"Comment","id":"comment","key":"issue.field.comment","isShown":true},{"name":"Label","id":"labels","key":"issue.field.labels","isShown":true},{"name":"Query","id":"text","key":"text","isShown":true},{"name":"Approvals","id":"customfield_12210","key":"com.atlassian.servicedesk.approvals-plugin:sd-approvals","isShown":true},{"name":"Association Count","id":"customfield_13911","key":"com.atlassian.jira.plugin.system.customfieldtypes:float","isShown":true},{"name":"Associations","id":"customfield_13910","key":"com.atlassian.jira.plugin.system.customfieldtypes:textarea","isShown":true},{"name":"BPM Version","id":"customfield_12911","key":"com.atlassian.jira.plugin.system.customfieldtypes:select","isShown":true},{"name":"Customer Request Type","id":"customfield_11010","key":"com.atlassian.servicedesk:vp-origin","isShown":true},{"name":"Development","id":"customfield_12310","key":"com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary","isShown":true},{"name":"Effort","id":"customfield_12810","key":"com.atlassian.jira.plugin.system.customfieldtypes:select","isShown":true},{"name":"Email Distribution List","id":"customfield_12915","key":"com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes","isShown":true},{"name":"Environment","id":"customfield_10411","key":"com.atlassian.jira.plugin.system.customfieldtypes:textarea","isShown":false},{"name":"Environment","id":"customfield_11210","key":"com.atlassian.jira.plugin.system.customfieldtypes:textarea","isShown":false},{"name":"Epic","id":"customfield_11810","key":"com.atlassian.jira.plugin.system.customfieldtypes:labels","isShown":true},{"name":"Epic","id":"customfield_10031","key":"com.atlassian.jira.plugin.system.customfieldtypes:labels","isShown":false},{"name":"Epic Colour","id":"customfield_10813","key":"com.pyxis.greenhopper.jira:gh-epic-color","isShown":false},{"name":"Epic Link","id":"customfield_10810","key":"com.pyxis.greenhopper.jira:gh-epic-link","isShown":true},{"name":"Epic Name","id":"customfield_10811","key":"com.pyxis.greenhopper.jira:gh-epic-label","isShown":true},{"name":"Epic Status","id":"customfield_10812","key":"com.pyxis.greenhopper.jira:gh-epic-status","isShown":false},{"name":"Epic/Theme","id":"customfield_10091","key":"com.atlassian.jira.plugin.system.customfieldtypes:labels","isShown":true},{"name":"Flagged","id":"customfield_10090","key":"com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes","isShown":true},{"name":"Global Rank","id":"customfield_10110","key":"com.pyxis.greenhopper.jira:gh-global-rank","isShown":true},{"name":"Groups","id":"customfield_14510","key":"com.atlassian.servicedesk:sd-request-groups","isShown":true},{"name":"Help Request Type","id":"customfield_12713","key":"com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons","isShown":true},{"name":"High Level Steps","id":"customfield_12616","key":"com.atlassian.jira.plugin.system.customfieldtypes:textarea","isShown":true},{"name":"LDAP Groups Picker","id":"customfield_12914","key":"com.onresolve.jira.groovy.groovyrunner:multiple-ldap-picker-cf","isShown":false},{"name":"Linked major incidents","id":"customfield_13010","key":"com.atlassian.servicedesk.incident-management-plugin:sd-incidents-link","isShown":false},{"name":"Number of Licenses Needed","id":"customfield_12116","key":"com.atlassian.jira.plugin.system.customfieldtypes:float","isShown":true},{"name":"Optimize PM Priority","id":"customfield_12811","key":"com.pyxis.greenhopper.jira:gh-lexo-rank","isShown":true},{"name":"Organizations","id":"customfield_12211","key":"com.atlassian.servicedesk:sd-customer-organizations","isShown":true},{"name":"Original story points","id":"customfield_13413","key":"com.atlassian.jpo:jpo-custom-field-original-story-points","isShown":true},{"name":"PM Priority","id":"customfield_12010","key":"com.atlassian.jira.plugin.system.customfieldtypes:float","isShown":true},{"name":"Parent Link","id":"customfield_13410","key":"com.atlassian.jpo:jpo-custom-field-parent","isShown":false},{"name":"Preconditions - Dats","id":"customfield_12615","key":"com.atlassian.jira.plugin.system.customfieldtypes:textarea","isShown":true},{"name":"Preconditions - Users","id":"customfield_12614","key":"com.atlassian.jira.plugin.system.customfieldtypes:textarea","isShown":true},{"name":"Progress","id":"customfield_13110","key":"com.atlassian.jira.plugin.system.customfieldtypes:textfield","isShown":true},{"name":"Project","id":"customfield_11910","key":"com.atlassian.jira.plugin.system.customfieldtypes:labels","isShown":true},{"name":"Purpose of the IT-Tool","id":"customfield_12114","key":"com.atlassian.jira.plugin.system.customfieldtypes:textfield","isShown":true},{"name":"Questions","id":"customfield_12910","key":"com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes","isShown":true},{"name":"Rank","id":"customfield_11410","key":"com.pyxis.greenhopper.jira:gh-lexo-rank","isShown":true},{"name":"Rank","id":"customfield_11411","key":"com.pyxis.greenhopper.jira:gh-lexo-rank","isShown":true},{"name":"Rank (Obsolete)","id":"customfield_10041","key":"com.atlassian.jira.plugin.system.customfieldtypes:float","isShown":false},{"name":"Rank (Obsolete)","id":"customfield_10092","key":"com.atlassian.jira.plugin.system.customfieldtypes:float","isShown":false},{"name":"Rank (Obsolete)","id":"customfield_10414","key":"com.pyxis.greenhopper.jira:gh-global-rank","isShown":true},{"name":"Rank (Obsolete)","id":"customfield_10415","key":"com.pyxis.greenhopper.jira:gh-global-rank","isShown":true},{"name":"Release Version History","id":"customfield_10210","key":"com.pyxis.greenhopper.jira:greenhopper-releasedmultiversionhistory","isShown":true},{"name":"Request participants","id":"customfield_11412","key":"com.atlassian.servicedesk:sd-request-participants","isShown":true},{"name":"SP Effort","id":"customfield_13310","key":"com.atlassian.jira.plugin.system.customfieldtypes:select","isShown":true},{"name":"Satisfaction","id":"customfield_12212","key":"com.atlassian.servicedesk:sd-request-feedback","isShown":true},{"name":"Sprint","id":"customfield_10710","key":"com.pyxis.greenhopper.jira:gh-sprint","isShown":true},{"name":"Steps","id":"customfield_12618","key":"com.atlassian.jira.plugin.system.customfieldtypes:textarea","isShown":true},{"name":"Story Points","id":"customfield_11710","key":"com.atlassian.jira.plugin.system.customfieldtypes:float","isShown":false},{"name":"Target Quality","id":"customfield_13510","key":"com.atlassian.jira.plugin.system.customfieldtypes:select","isShown":true},{"name":"Team","id":"customfield_13414","key":"com.atlassian.teams:rm-teams-custom-field-team","isShown":true},{"name":"Test Goals","id":"customfield_12613","key":"com.atlassian.jira.plugin.system.customfieldtypes:textarea","isShown":true},{"name":"Time to Resolution","id":"customfield_11124","key":"com.atlassian.servicedesk:sd-sla-field","isShown":true},{"name":"Time to Response","id":"customfield_11121","key":"com.atlassian.servicedesk:sd-sla-field","isShown":true},{"name":"Time to Response - Ericsson","id":"customfield_11122","key":"com.atlassian.servicedesk:sd-sla-field","isShown":true},{"name":"Time to Response - Test","id":"customfield_11123","key":"com.atlassian.servicedesk:sd-sla-field","isShown":true},{"name":"Time to resolution","id":"customfield_11110","key":"com.atlassian.servicedesk:sd-sla-field","isShown":true},{"name":"Time to temporary Solution","id":"customfield_11510","key":"com.atlassian.servicedesk:sd-sla-field","isShown":true},{"name":"Tips","id":"customfield_12617","key":"com.atlassian.jira.plugin.system.customfieldtypes:textarea","isShown":true},{"name":"Title Keywords","id":"customfield_10070","key":"com.atlassian.jira.plugin.system.customfieldtypes:textfield","isShown":true},{"name":"Tool Price per Year","id":"customfield_12612","key":"com.atlassian.jira.plugin.system.customfieldtypes:textfield","isShown":true},{"name":"URL of DPA","id":"customfield_12610","key":"com.atlassian.jira.plugin.system.customfieldtypes:url","isShown":true},{"name":"URL of Terms and Conditions","id":"customfield_12611","key":"com.atlassian.jira.plugin.system.customfieldtypes:url","isShown":true},{"name":"URL of the Tool","id":"customfield_12112","key":"com.atlassian.jira.plugin.system.customfieldtypes:url","isShown":true},{"name":"Which Data will be Processed?","id":"customfield_12117","key":"com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes","isShown":true},{"name":"issueFunction","id":"customfield_11311","key":"com.onresolve.jira.groovy.groovyrunner:jqlFunctionsCustomFieldType","isShown":true}],"type":"DETAILS","title":"Details"},{"searchers":[{"name":"Created Date","id":"created","key":"issue.field.created","isShown":true},{"name":"Updated Date","id":"updated","key":"issue.field.updated","isShown":true},{"name":"Resolution Date","id":"resolutiondate","key":"issue.field.resolution.date","isShown":true},{"name":"Due Date","id":"duedate","key":"issue.field.duedate","isShown":true},{"name":"Postponed Until","id":"customfield_12712","key":"com.atlassian.jira.plugin.system.customfieldtypes:datetime","isShown":true},{"name":"Satisfaction date","id":"customfield_12213","key":"com.atlassian.servicedesk:sd-request-feedback-date","isShown":true},{"name":"Target end","id":"customfield_13412","key":"com.atlassian.jpo:jpo-custom-field-baseline-end","isShown":true},{"name":"Target start","id":"customfield_13411","key":"com.atlassian.jpo:jpo-custom-field-baseline-start","isShown":true}],"type":"DATES","title":"Dates"},{"searchers":[{"name":"Assignee","id":"assignee","key":"issue.field.assignee","isShown":true,"lastViewed":1743824532824},{"name":"Reporter","id":"reporter","key":"issue.field.reporter","isShown":true},{"name":"Authorized support contacts","id":"customfield_10410","key":"com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker","isShown":false},{"name":"DRI","id":"customfield_13210","key":"com.atlassian.jira.plugin.system.customfieldtypes:userpicker","isShown":true},{"name":"Manager","id":"customfield_12620","key":"com.atlassian.jira.plugin.system.customfieldtypes:userpicker","isShown":true},{"name":"Reviewer","id":"customfield_12121","key":"com.atlassian.jira.plugin.system.customfieldtypes:userpicker","isShown":false},{"name":"Reviewer - Ext","id":"customfield_12619","key":"com.atlassian.jira.plugin.system.customfieldtypes:userpicker","isShown":true},{"name":"Tester","id":"customfield_13311","key":"com.atlassian.jira.plugin.system.customfieldtypes:userpicker","isShown":true}],"type":"PEOPLE","title":"People"}]},"values":{"issuetype":{"name":"Type","editHtml":"\n\n\n\n <div class=\"field-group aui-field-issuetype\" >\n <label for=\"searcher-type\">Type</label> <select class=\"select js-default-checkboxmultiselect\"\n id=\"searcher-type\"\n multiple=\"multiple\"\n name=\"type\"\n data-max-inline-results-displayed=\"100\"\n data-placeholder-text=\"Find Issue Types...\">\n <optgroup>\n \n <option class=\" \"\n id=\"type_-2\"\n title=\"All Standard Issue Types\"\n value=\"-2\">All Standard Issue Types</option>\n \n <option class=\" \"\n id=\"type_-3\"\n title=\"All Sub-Task Issue Types\"\n value=\"-3\">All Sub-Task Issue Types</option>\n </optgroup>\n\n <optgroup label=\"Standard Issue Types\">\n \n <option class=\" imagebacked 12430 \"\n data-icon=\"/secure/viewavatar?size=xsmall&avatarId=12443&avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_1\"\n title=\"Bug Report\"\n value=\"1\">Bug Report</option>\n \n <option class=\" imagebacked 12430 \"\n data-icon=\"/secure/viewavatar?size=xsmall&avatarId=14241&avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_10602\"\n title=\"Design Task\"\n value=\"10602\">Design Task</option>\n \n <option class=\" imagebacked 12430 \"\n data-icon=\"/secure/viewavatar?size=xsmall&avatarId=12454&avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_7\"\n title=\"Epic\"\n value=\"7\">Epic</option>\n \n <option class=\" imagebacked 12430 \"\n data-icon=\"/secure/viewavatar?size=xsmall&avatarId=12451&avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_2\"\n title=\"Feature Request\"\n value=\"2\">Feature Request</option>\n \n <option class=\" imagebacked 12430 \"\n data-icon=\"/secure/viewavatar?size=xsmall&avatarId=12447&avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_10203\"\n title=\"Security Report\"\n value=\"10203\">Security Report</option>\n \n <option class=\" imagebacked 12430 \"\n data-icon=\"/secure/viewavatar?size=xsmall&avatarId=12458&avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_3\"\n title=\"Task\"\n value=\"3\">Task</option>\n </optgroup>\n\n <optgroup label=\"Sub-Task Issue Types\">\n \n <option class=\" imagebacked 12430 \"\n data-icon=\"/secure/viewavatar?size=xsmall&avatarId=12443&avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_10201\"\n title=\"Bug Part\"\n value=\"10201\">Bug Part</option>\n \n <option class=\" imagebacked 12430 \"\n data-icon=\"/secure/viewavatar?size=xsmall&avatarId=14241&avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_10603\"\n title=\"Design Part\"\n value=\"10603\">Design Part</option>\n \n <option class=\" imagebacked 12430 \"\n data-icon=\"/secure/viewavatar?size=xsmall&avatarId=12451&avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_10202\"\n title=\"Feature Part\"\n value=\"10202\">Feature Part</option>\n \n <option class=\" imagebacked 12430 \"\n data-icon=\"/secure/viewavatar?size=xsmall&avatarId=12456&avatarType=issuetype\"\n data-fallback-icon=\"/images/icons/issuetypes/blank.png\"\n id=\"type_6\"\n title=\"Sub-task\"\n value=\"6\">Sub-task</option>\n </optgroup>\n </select>\n </div>\n ","validSearcher":true,"isShown":true},"project":{"name":"Project","viewHtml":" <div class=\"searcherValue\">\n \n <label class=\"fieldLabel\" for=\"fieldpid\">Project:</label><span id=\"fieldpid\" class=\"fieldValue\">\n \n <a data-pid=\"10730\" data-issue-type-ids=\"\" href=\"/browse/OPT\" title=\"Browse Camunda Optimize project\">Camunda Optimize</a> </span></div>\n","editHtml":" \n <div class=\"field-group aui-field-project\" >\n <label for=\"searcher-pid\">Project</label> <select class=\"js-project-checkboxmultiselect\"\n data-placeholder-text=\"Find Projects...\"\n id=\"searcher-pid\"\n multiple=\"multiple\"\n name=\"pid\">\n <optgroup label=\"Recent Projects\">\n </optgroup>\n <optgroup label=\"All Projects\" >\n <option data-icon=\"/secure/projectavatar?pid=10730&size=small\"\n selected=\"selected\" title=\"Camunda Optimize\"\n value=\"10730\">\n Camunda Optimize (OPT)\n </option>\n \n <option data-icon=\"/secure/projectavatar?pid=10230&size=small\"\n title=\"camunda BPM\"\n value=\"10230\">\n camunda BPM (CAM)\n </option>\n </optgroup>\n </select>\n </div>\n \n\n","jql":"project = OPT","validSearcher":true,"isShown":true},"fixfor":{"name":"Fix Version","viewHtml":" <div class=\"searcherValue\">\n \n <label class=\"fieldLabel\" for=\"fieldfixfor\">Fix Version:</label><span id=\"fieldfixfor\" class=\"fieldValue\">\n \n 3.10.3 </span></div>\n","editHtml":"\n <div class=\"field-group aui-field-projectconstant\" >\n <label for=\"searcher-fixfor\">Fix Version</label> <select class=\"select js-default-checkboxmultiselectversion\"\n id=\"searcher-fixfor\"\n multiple=\"multiple\"\n name=\"fixfor\"\n data-max-inline-results-displayed=\"100\"\n >\n <optgroup label=\"\">\n <option value=\"-1\" title=\"No Version\">No Version</option>\n <option value=\"-2\" title=\"Unreleased Versions\">Unreleased Versions</option>\n <option value=\"-3\" title=\"Released Versions\">Released Versions</option>\n </optgroup>\n <optgroup label=\"Unreleased Versions\">\n <option value=\"id:3.10.7\" title=\"3.10.7\">3.10.7</option>\n <option value=\"id:3.7.4\" title=\"3.7.4\">3.7.4</option>\n <option value=\"id:3.8.7\" title=\"3.8.7\">3.8.7</option>\n <option value=\"id:3.9.6\" title=\"3.9.6\">3.9.6</option>\n </optgroup>\n <optgroup data-footer-text=\"26 more options. Continue typing to refine further.\" label=\"Released Versions\">\n <option value=\"id:1.0.0\" title=\"1.0.0\">1.0.0</option>\n <option value=\"id:1.0.0-alpha1\" title=\"1.0.0-alpha1\">1.0.0-alpha1</option>\n <option value=\"id:1.0.0-alpha2\" title=\"1.0.0-alpha2\">1.0.0-alpha2</option>\n <option value=\"id:1.0.0-alpha3\" title=\"1.0.0-alpha3\">1.0.0-alpha3</option>\n <option value=\"id:1.0.0-alpha4\" title=\"1.0.0-alpha4\">1.0.0-alpha4</option>\n <option value=\"id:1.00\" title=\"1.00\">1.00</option>\n <option value=\"id:1.1.0\" title=\"1.1.0\">1.1.0</option>\n <option value=\"id:1.2\" title=\"1.2\">1.2</option>\n <option value=\"id:1.2.0\" title=\"1.2.0\">1.2.0</option>\n <option value=\"id:1.3.0\" title=\"1.3.0\">1.3.0</option>\n <option value=\"id:1.4.0\" title=\"1.4.0\">1.4.0</option>\n <option value=\"id:1.5.0\" title=\"1.5.0\">1.5.0</option>\n <option value=\"id:2.0-alpha1\" title=\"2.0-alpha1\">2.0-alpha1</option>\n <option value=\"id:2.0.0\" title=\"2.0.0\">2.0.0</option>\n <option value=\"id:2.0.0-alpha2\" title=\"2.0.0-alpha2\">2.0.0-alpha2</option>\n <option value=\"id:2.0.0-alpha3\" title=\"2.0.0-alpha3\">2.0.0-alpha3</option>\n <option value=\"id:2.1.0\" title=\"2.1.0\">2.1.0</option>\n <option value=\"id:2.1.0-alpha1\" title=\"2.1.0-alpha1\">2.1.0-alpha1</option>\n <option value=\"id:2.1.0-alpha2\" title=\"2.1.0-alpha2\">2.1.0-alpha2</option>\n <option value=\"id:2.2.0\" title=\"2.2.0\">2.2.0</option>\n <option value=\"id:2.2.0-alpha1\" title=\"2.2.0-alpha1\">2.2.0-alpha1</option>\n <option value=\"id:2.2.0-alpha2\" title=\"2.2.0-alpha2\">2.2.0-alpha2</option>\n <option value=\"id:2.3.0\" title=\"2.3.0\">2.3.0</option>\n <option value=\"id:2.3.0-alpha1\" title=\"2.3.0-alpha1\">2.3.0-alpha1</option>\n <option value=\"id:2.3.0-alpha2\" title=\"2.3.0-alpha2\">2.3.0-alpha2</option>\n <option value=\"id:2.4.0\" title=\"2.4.0\">2.4.0</option>\n <option value=\"id:2.4.0-alpha1\" title=\"2.4.0-alpha1\">2.4.0-alpha1</option>\n <option value=\"id:2.4.0-alpha2\" title=\"2.4.0-alpha2\">2.4.0-alpha2</option>\n <option value=\"id:2.5.0\" title=\"2.5.0\">2.5.0</option>\n <option value=\"id:2.5.0-alpha1\" title=\"2.5.0-alpha1\">2.5.0-alpha1</option>\n <option value=\"id:2.5.0-alpha2\" title=\"2.5.0-alpha2\">2.5.0-alpha2</option>\n <option value=\"id:2.6.0\" title=\"2.6.0\">2.6.0</option>\n <option value=\"id:2.6.0-alpha1\" title=\"2.6.0-alpha1\">2.6.0-alpha1</option>\n <option value=\"id:2.6.0-alpha2\" title=\"2.6.0-alpha2\">2.6.0-alpha2</option>\n <option value=\"id:2.7.0\" title=\"2.7.0\">2.7.0</option>\n <option value=\"id:2.7.0-alpha1\" title=\"2.7.0-alpha1\">2.7.0-alpha1</option>\n <option value=\"id:2.7.0-alpha2\" title=\"2.7.0-alpha2\">2.7.0-alpha2</option>\n <option value=\"id:3.0.0\" title=\"3.0.0\">3.0.0</option>\n <option value=\"id:3.0.0-alpha1\" title=\"3.0.0-alpha1\">3.0.0-alpha1</option>\n <option value=\"id:3.0.0-alpha2\" title=\"3.0.0-alpha2\">3.0.0-alpha2</option>\n <option value=\"id:3.1.0\" title=\"3.1.0\">3.1.0</option>\n <option value=\"id:3.1.0-alpha1\" title=\"3.1.0-alpha1\">3.1.0-alpha1</option>\n <option value=\"id:3.1.0-alpha2\" title=\"3.1.0-alpha2\">3.1.0-alpha2</option>\n <option value=\"id:3.10.0\" title=\"3.10.0\">3.10.0</option>\n <option value=\"id:3.10.0-alpha1\" title=\"3.10.0-alpha1\">3.10.0-alpha1</option>\n <option value=\"id:3.10.0-alpha2\" title=\"3.10.0-alpha2\">3.10.0-alpha2</option>\n <option value=\"id:3.10.0-alpha3\" title=\"3.10.0-alpha3\">3.10.0-alpha3</option>\n <option value=\"id:3.10.0-alpha4\" title=\"3.10.0-alpha4\">3.10.0-alpha4</option>\n <option value=\"id:3.10.0-alpha5\" title=\"3.10.0-alpha5\">3.10.0-alpha5</option>\n <option value=\"id:3.10.1\" title=\"3.10.1\">3.10.1</option>\n <option value=\"id:3.10.2\" title=\"3.10.2\">3.10.2</option>\n <option selected=\"selected\" value=\"id:3.10.3\" title=\"3.10.3\">3.10.3</option>\n <option value=\"id:3.10.4\" title=\"3.10.4\">3.10.4</option>\n <option value=\"id:3.10.5\" title=\"3.10.5\">3.10.5</option>\n <option value=\"id:3.10.6\" title=\"3.10.6\">3.10.6</option>\n <option value=\"id:3.11.0\" title=\"3.11.0\">3.11.0</option>\n <option value=\"id:3.11.0-alpha1\" title=\"3.11.0-alpha1\">3.11.0-alpha1</option>\n <option value=\"id:3.11.0-alpha2\" title=\"3.11.0-alpha2\">3.11.0-alpha2</option>\n <option value=\"id:3.11.0-alpha3\" title=\"3.11.0-alpha3\">3.11.0-alpha3</option>\n <option value=\"id:3.11.0-alpha4\" title=\"3.11.0-alpha4\">3.11.0-alpha4</option>\n <option value=\"id:3.11.0-alpha5\" title=\"3.11.0-alpha5\">3.11.0-alpha5</option>\n <option value=\"id:3.11.1\" title=\"3.11.1\">3.11.1</option>\n <option value=\"id:3.11.2\" title=\"3.11.2\">3.11.2</option>\n <option value=\"id:3.11.3\" title=\"3.11.3\">3.11.3</option>\n <option value=\"id:3.11.4\" title=\"3.11.4\">3.11.4</option>\n <option value=\"id:3.11.5\" title=\"3.11.5\">3.11.5</option>\n <option value=\"id:3.12.0\" title=\"3.12.0\">3.12.0</option>\n <option value=\"id:3.12.0-alpha1\" title=\"3.12.0-alpha1\">3.12.0-alpha1</option>\n <option value=\"id:3.12.0-alpha2\" title=\"3.12.0-alpha2\">3.12.0-alpha2</option>\n <option value=\"id:3.2.0\" title=\"3.2.0\">3.2.0</option>\n <option value=\"id:3.2.0-alpha1\" title=\"3.2.0-alpha1\">3.2.0-alpha1</option>\n <option value=\"id:3.2.0-alpha2\" title=\"3.2.0-alpha2\">3.2.0-alpha2</option>\n <option value=\"id:3.3.0\" title=\"3.3.0\">3.3.0</option>\n <option value=\"id:3.3.0-alpha1\" title=\"3.3.0-alpha1\">3.3.0-alpha1</option>\n <option value=\"id:3.3.0-alpha2\" title=\"3.3.0-alpha2\">3.3.0-alpha2</option>\n <option value=\"id:3.4.0\" title=\"3.4.0\">3.4.0</option>\n <option value=\"id:3.4.0-alpha1\" title=\"3.4.0-alpha1\">3.4.0-alpha1</option>\n <option value=\"id:3.4.0-alpha2\" title=\"3.4.0-alpha2\">3.4.0-alpha2</option>\n <option value=\"id:3.5.0\" title=\"3.5.0\">3.5.0</option>\n <option value=\"id:3.5.0-alpha1\" title=\"3.5.0-alpha1\">3.5.0-alpha1</option>\n <option value=\"id:3.5.0-alpha2\" title=\"3.5.0-alpha2\">3.5.0-alpha2</option>\n <option value=\"id:3.6.0\" title=\"3.6.0\">3.6.0</option>\n <option value=\"id:3.6.0-alpha1\" title=\"3.6.0-alpha1\">3.6.0-alpha1</option>\n <option value=\"id:3.6.0-alpha2\" title=\"3.6.0-alpha2\">3.6.0-alpha2</option>\n <option value=\"id:3.6.1\" title=\"3.6.1\">3.6.1</option>\n <option value=\"id:3.6.2\" title=\"3.6.2\">3.6.2</option>\n <option value=\"id:3.6.3\" title=\"3.6.3\">3.6.3</option>\n <option value=\"id:3.6.4\" title=\"3.6.4\">3.6.4</option>\n <option value=\"id:3.6.5\" title=\"3.6.5\">3.6.5</option>\n <option value=\"id:3.6.6\" title=\"3.6.6\">3.6.6</option>\n <option value=\"id:3.7.0\" title=\"3.7.0\">3.7.0</option>\n <option value=\"id:3.7.0-alpha1\" title=\"3.7.0-alpha1\">3.7.0-alpha1</option>\n <option value=\"id:3.7.0-alpha1.1\" title=\"3.7.0-alpha1.1\">3.7.0-alpha1.1</option>\n </optgroup>\n </select>\n </div>\n \n","jql":"fixVersion = 3.10.3","validSearcher":true,"isShown":true},"assignee":{"name":"Assignee","editHtml":"\n \n <div class=\"field-group aui-field-userlist\" >\n <label for=\"searcher-assigneeSelect\">Assignee</label> <fieldset rel=\"assignee\" class=\"hidden user-group-searcher-params\">\n </fieldset>\n <select class=\"js-usergroup-checkboxmultiselect\" multiple=\"multiple\" id=\"assignee\" name=\"assignee\" data-placeholder-text=\"Enter username or group\">\n <optgroup>\n <option class=\"headerOption\" data-icon=\"https://jira.camunda.com/secure/useravatar?size=xsmall&avatarId=10163\" value=\"empty\" title=\"Unassigned\">Unassigned</option>\n </optgroup>\n <optgroup>\n </optgroup>\n </select>\n <input type=\"hidden\" name=\"check_prev_assignee\" value=\"true\">\n </div>\n \n","validSearcher":true,"isShown":true},"status":{"name":"Status","editHtml":"\n <div class=\"field-group aui-field-constants\" >\n <label for=\"searcher-status\">Status</label> <select class=\"select js-default-checkboxmultiselectstatuslozenge\"\n data-placeholder-text=\"Find Statuses...\"\n id=\"searcher-status\"\n multiple=\"multiple\"\n name=\"status\"\n data-max-inline-results-displayed=\"100\"\n data-footer-text=\"-89 more options. Continue typing to refine further.\" data-status-lozenge=\"true\">\n <optgroup >\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/open.png\" value=\"1\" title=\"Open\" data-simple-status=\"{"id":"1","name":"Open","description":"The issue is open and ready for the assignee to start work on it.","iconUrl":"/images/icons/statuses/open.png","statusCategory":{"id":2,"key":"new","colorName":"default"}}\">Open</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/invisible.png\" value=\"10004\" title=\"In Test\" data-simple-status=\"{"id":"10004","name":"In Test","description":"","iconUrl":"/images/icons/statuses/invisible.png","statusCategory":{"id":4,"key":"indeterminate","colorName":"inprogress"}}\">In Test</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/generic.png\" value=\"10005\" title=\"Ready\" data-simple-status=\"{"id":"10005","name":"Ready","description":"","iconUrl":"/images/icons/statuses/generic.png","statusCategory":{"id":2,"key":"new","colorName":"default"}}\">Ready</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/generic.png\" value=\"10008\" title=\"Ready for Testing\" data-simple-status=\"{"id":"10008","name":"Ready for Testing","description":"","iconUrl":"/images/icons/statuses/generic.png","statusCategory":{"id":4,"key":"indeterminate","colorName":"inprogress"}}\">Ready for Testing</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/closed.png\" value=\"10010\" title=\"Done\" data-simple-status=\"{"id":"10010","name":"Done","description":"","iconUrl":"/images/icons/statuses/closed.png","statusCategory":{"id":3,"key":"done","colorName":"success"}}\">Done</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/information.png\" value=\"10212\" title=\"In Review\" data-simple-status=\"{"id":"10212","name":"In Review","description":"","iconUrl":"/images/icons/statuses/information.png","statusCategory":{"id":4,"key":"indeterminate","colorName":"inprogress"}}\">In Review</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/generic.png\" value=\"10312\" title=\"In Development\" data-simple-status=\"{"id":"10312","name":"In Development","description":"","iconUrl":"/images/icons/statuses/generic.png","statusCategory":{"id":4,"key":"indeterminate","colorName":"inprogress"}}\">In Development</option>\n <option class=\"imagebacked\" data-icon=\"/\" value=\"10612\" title=\"Triage\" data-simple-status=\"{"id":"10612","name":"Triage","description":"","iconUrl":"/","statusCategory":{"id":2,"key":"new","colorName":"default"}}\">Triage</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/status_generic.gif\" value=\"10916\" title=\"Rejected\" data-simple-status=\"{"id":"10916","name":"Rejected","description":"","iconUrl":"/images/icons/status_generic.gif","statusCategory":{"id":3,"key":"done","colorName":"success"}}\">Rejected</option>\n <option class=\"imagebacked\" data-icon=\"/\" value=\"11212\" title=\"Backlog\" data-simple-status=\"{"id":"11212","name":"Backlog","description":"","iconUrl":"/","statusCategory":{"id":2,"key":"new","colorName":"default"}}\">Backlog</option>\n <option class=\"imagebacked\" data-icon=\"/images/icons/statuses/generic.png\" value=\"11413\" title=\"Rework\" data-simple-status=\"{"id":"11413","name":"Rework","description":"","iconUrl":"/images/icons/statuses/generic.png","statusCategory":{"id":2,"key":"new","colorName":"default"}}\">Rework</option>\n </optgroup>\n</select>\n </div>\n \n","validSearcher":true,"isShown":true}}}
[{"id":-1,"name":"My open issues","jql":"assignee = currentUser() AND resolution = Unresolved order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":true},{"id":-2,"name":"Reported by me","jql":"reporter = currentUser() order by created DESC","isSystem":true,"sharePermissions":[],"requiresLogin":true},{"id":-4,"name":"All issues","jql":"order by created DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-5,"name":"Open issues","jql":"resolution = Unresolved order by priority DESC,updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-9,"name":"Done issues","jql":"statusCategory = Done order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-3,"name":"Viewed recently","jql":"issuekey in issueHistory() order by lastViewed DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-6,"name":"Created recently","jql":"created >= -1w order by created DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-7,"name":"Resolved recently","jql":"resolutiondate >= -1w order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-8,"name":"Updated recently","jql":"updated >= -1w order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false}]
0.3
0