Uploaded image for project: 'Jira Software Data Center'
  1. Jira Software Data Center
  2. JSWSERVER-20318

Message format error in ColumnServiceImpl

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Low
    • None
    • 8.0.3, 7.13.9
    • AgileBoard

    Description

      Summary

      Method com.atlassian.greenhopper.service.rapid.view.ColumnServiceImpl#validateStatusIds has a logging method which expects number, while method returns string:

      • validateStatusIds:
        ...
            // then check the status IDs
                List<String> statusIds = new ArrayList<String>();
                for (ColumnStatusAO statusAO : statusAOs) {
                    Status status = workflowService.getWorkflowStatusObject(statusAO.getStatusId());
                    // ignore invalid status IDs here
                    if (status != null) {
                        statusIds.add(status.getId());
                    } else {
                        log.info("Invalid status [id %d] mapped to column [id %d], ignoring", statusAO.getStatusId(), columnAO.getId());
                    }
        
      • statusAO.getStatusId() is defined as: `public String getStatusId()`

      Expected Results

      Info message.

      Actual Results

      Error message and the below exception is thrown in the atlassian-greenhopper.log file:

      2019-11-07 08:39:28,857 http-nio-8082-exec-8 ERROR admin 519x3637x1 1e4kogv 1.1.1.1 /secure/GHGoToBoard.jspa [service.rapid.view.ColumnServiceImpl] Unable to format message: Invalid status [id %d] mapped to column [id %d], ignoring
      java.util.IllegalFormatConversionException: d != java.lang.String
      	at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4302)
      	at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2793)
      	at java.util.Formatter$FormatSpecifier.print(Formatter.java:2747)
      	at java.util.Formatter.format(Formatter.java:2520)
      	at java.util.Formatter.format(Formatter.java:2455)
      	at java.lang.String.format(String.java:2940)
      	at com.atlassian.greenhopper.global.LoggerWrapper.createMessage(LoggerWrapper.java:200)
      	at com.atlassian.greenhopper.global.LoggerWrapper.info(LoggerWrapper.java:176)
      	at com.atlassian.greenhopper.service.rapid.view.ColumnServiceImpl.validateStatusIds(ColumnServiceImpl.java:345)
      	at com.atlassian.greenhopper.service.rapid.view.ColumnServiceImpl.fromAO(ColumnServiceImpl.java:326)
      	at com.atlassian.greenhopper.service.rapid.view.ColumnServiceImpl.access$200(ColumnServiceImpl.java:44)
      	at com.atlassian.greenhopper.service.rapid.view.ColumnServiceImpl$ColumnCacheLoader.load(ColumnServiceImpl.java:472)
      	at com.atlassian.greenhopper.service.rapid.view.ColumnServiceImpl$ColumnCacheLoader.load(ColumnServiceImpl.java:466)
      	at com.atlassian.cache.compat.delegate.DelegatingCacheLoader.load(DelegatingCacheLoader.java:23)
      	at com.atlassian.cache.ehcache.wrapper.ValueProcessorAtlassianCacheLoaderDecorator.load(ValueProcessorAtlassianCacheLoaderDecorator.java:26)
      	at com.atlassian.cache.ehcache.LoadingCache.getFromLoader(LoadingCache.java:133)
      	at com.atlassian.cache.ehcache.SynchronizedLoadingCacheDecorator.synchronizedLoad(SynchronizedLoadingCacheDecorator.java:29)
      	at com.atlassian.cache.ehcache.LoadingCache.loadValueAndReleaseLock(LoadingCache.java:101)
      	at com.atlassian.cache.ehcache.LoadingCache.get(LoadingCache.java:80)
      	at com.atlassian.cache.ehcache.DelegatingCache.get(DelegatingCache.java:108)
      	at com.atlassian.jira.cache.DeferredReplicationCache.get(DeferredReplicationCache.java:48)
      	at com.atlassian.cache.compat.delegate.DelegatingCache.get(DelegatingCache.java:37)
      	at com.atlassian.greenhopper.service.rapid.view.ColumnServiceImpl.getAllColumnsNoUpdate(ColumnServiceImpl.java:127)
      	at com.atlassian.greenhopper.service.rapid.view.ColumnServiceImpl.getAllColumns(ColumnServiceImpl.java:114)
      	at com.atlassian.greenhopper.service.rapid.view.ColumnServiceImpl.getVisibleColumns(ColumnServiceImpl.java:99)
      	at com.atlassian.greenhopper.service.rapid.view.ColumnServiceImpl.getMappedStatuses(ColumnServiceImpl.java:158)
      	at sun.reflect.GeneratedMethodAccessor1738.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at com.atlassian.activeobjects.tx.TransactionalProxy.invoke(TransactionalProxy.java:60)
      	at com.atlassian.activeobjects.tx.TransactionalProxy.invoke(TransactionalProxy.java:33)
      	at com.sun.proxy.$Proxy3936.getMappedStatuses(Unknown Source)
      	at com.atlassian.greenhopper.service.rapid.RapidViewQueryServiceImpl.getStatusMappingClause(RapidViewQueryServiceImpl.java:138)
      	at com.atlassian.greenhopper.service.rapid.RapidViewQueryServiceImpl.getMappedRapidViewQuery(RapidViewQueryServiceImpl.java:167)
      	at com.atlassian.greenhopper.service.rapid.RapidViewQueryServiceImpl.getWorkModeQuery(RapidViewQueryServiceImpl.java:191)
      	at com.atlassian.greenhopper.service.rapid.RapidViewLocationServiceImpl.getRapidViewsForIssue(RapidViewLocationServiceImpl.java:120)
      	at com.atlassian.greenhopper.web.rapid.RapidViewLocationResolverFactory$IssueRapidViewLocationResolver.getRapidViewsForObject(RapidViewLocationResolverFactory.java:151)
      	at com.atlassian.greenhopper.web.rapid.RapidViewLocationResolverFactory$IssueRapidViewLocationResolver.getRapidViewsForObject(RapidViewLocationResolverFactory.java:130)
      	at com.atlassian.greenhopper.web.rapid.BoardDispatchAction._doGoToBoard(BoardDispatchAction.java:116)
      	at com.atlassian.greenhopper.web.rapid.BoardDispatchAction.doGoToBoard(BoardDispatchAction.java:57)
      ....
      

      or another example:

      2019-11-07 13:44:21,686 SP-bigpicture-JiraServerExtTaskQuerySingleJobExecutor ERROR admin  [service.rapid.view.ColumnServiceImpl] Unable to format message: Invalid status [id %d] mapped to column [id %d], ignoring
      java.util.IllegalFormatConversionException: d != java.lang.String
      	at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4302)
      	at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2793)
      	at java.util.Formatter$FormatSpecifier.print(Formatter.java:2747)
      	at java.util.Formatter.format(Formatter.java:2520)
      	at java.util.Formatter.format(Formatter.java:2455)
      	at java.lang.String.format(String.java:2940)
      	at com.atlassian.greenhopper.global.LoggerWrapper.createMessage(LoggerWrapper.java:200)
      	at com.atlassian.greenhopper.global.LoggerWrapper.info(LoggerWrapper.java:176)
      	at com.atlassian.greenhopper.service.rapid.view.ColumnServiceImpl.validateStatusIds(ColumnServiceImpl.java:345)
      	at com.atlassian.greenhopper.service.rapid.view.ColumnServiceImpl.fromAO(ColumnServiceImpl.java:326)
      	at com.atlassian.greenhopper.service.rapid.view.ColumnServiceImpl.access$200(ColumnServiceImpl.java:44)
      	at com.atlassian.greenhopper.service.rapid.view.ColumnServiceImpl$ColumnCacheLoader.load(ColumnServiceImpl.java:472)
      	at com.atlassian.greenhopper.service.rapid.view.ColumnServiceImpl$ColumnCacheLoader.load(ColumnServiceImpl.java:466)
      	at com.atlassian.cache.compat.delegate.DelegatingCacheLoader.load(DelegatingCacheLoader.java:23)
      ...
      

      Workaround

      Not available.

      Attachments

        Activity

          People

            Unassigned Unassigned
            ayakovlev@atlassian.com Andriy Yakovlev [Atlassian]
            Votes:
            9 Vote for this issue
            Watchers:
            13 Start watching this issue

            Dates

              Created:
              Updated: