-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Low
-
Affects Version/s: 7.1.9, 7.2.1, 7.2.2, 7.2.6, 7.2.7, 7.2.8
-
Component/s: Development Panel, Release Hub
-
7.01
-
18
-
Severity 3 - Minor
-
124
Summary
When the Release Hub page for any version is loaded at least once, it will register a cache named com.atlassian.jira.plugin.devstatus.releasereport.column.devtool.DevelopmentWidget.issueHtml.English (United States).
Every time a new issue is loaded on the "Backlog" view of an Agile board, it will trigger an event that requires existing Development Summary caches to be removed, so that new ones can be generated with new content. However, due to a malformed URL, result of not escaping the above cache name, the removal of this cache is not replicated across nodes in a Data Center installation.
We are unsure about the impact of this problem, as we couldn't replicate any caching inconsistency. However, the logs are spammed with messages similar to the below.
2016-09-28 16:41:09,011 devstatus.dvcs.bitbucket:thread-9 ERROR admin 1001x2629x1 1lf8hnp 0:0:0:0:0:0:0:1 /rest/dev-status/1.0/issue/summary [c.a.j.cluster.distribution.JiraCacheManagerPeerProvider] Looking up rmiUrl //localhost:40002/com.atlassian.jira.plugin.devstatus.releasereport.column.devtool.DevelopmentWidget.issueHtml.English (United States) through exception . Urls are not well formed. Please fix this.
In that log entry, we can see the URL for the remote cache peer is //localhost:40002/com.atlassian.jira.plugin.devstatus.releasereport.column.devtool.DevelopmentWidget.issueHtml.English (United States), which is clearly invalid due to unescaped spaces.
Expected Behavior
Properly escape spaces on cache peer URLs or ensure caches do not have spaces in its name.
Actual Behavior
When building URLs for caches, JIRA does not escape the URL properly and causes occurrences of java.net.MalformedURLException when listing remote cache peers for replication of caches.
Steps to Reproduce
- Install JIRA Data Center;
- Create an application link with any Development Tool. I did with Bamboo and Bitbucket Cloud;
- Create a new project of type Scrum software development;
- Under that project:
- Create one or more issues;
- Create one or more versions;
- Access the Releases page of that project and click any version;
- Go to the Backlog page of the project and click any version, which will trigger the error;
Workaround
To avoid spamming the logs, disable logging for that specific class following the below instructions:
- Go to Administration > System > Logging and profiling;
- Under Default Loggers, click Configure logging level for another package;
- Input the below details:
Package name com.atlassian.jira.cluster.distribution.JiraCacheManagerPeerProvider Logging Level OFF - Click Add;
This change will be lost upon a restart. To persist this setting across application cycles, follow the below steps:
- Edit the log4j.properties file, located under <JIRA_INSTALL>/atlassian-jira/WEB-INF/classes;
- Locate the section named CLASS-SPECIFIC LOGGING LEVELS and add the below lines to the top of the list under that section;
# Workaround for JRA-62638 log4j.logger.com.atlassian.jira.cluster.distribution.JiraCacheManagerPeerProvider = OFF log4j.additivity.com.atlassian.jira.cluster.distribution.JiraCacheManagerPeerProvider = false
- Restart JIRA;