Uploaded image for project: 'Jira Service Management Cloud'
  1. Jira Service Management Cloud
  2. JSDCLOUD-5321

SLA Goals Displays 'No Issues' if SLA has Special Character in its Name

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Medium Medium
    • SLA
    • None

      Summary

      If a Service Desk SLA is created with a Special Character in its name, the SLA Goals Report shows "No Issues" despite issues meeting the SLA Goal

      Environment

      • Cloud

      Steps to Reproduce

      1. In a Service Desk Project, create an SLA with a Special Character in its Name; eg "Created > In Progress"
      2. Add a Simple Condition to the SLA
        • Start: Issue Created
        • Stop: Entered Status: Waiting for customer
      3. Add an SLA Goal; eg issuetype = "IT Help" with a 2hr SLA
      4. Save
      5. Create Issues and match the SLA condition

      Expected Results

      SLA Goals report shows a percentage of Issues which have met the SLA Goal

      Actual Results

      SLA Goals shows "No Issues" for Success Rate for the SLA with the Special Character
      Same metric with no Special Characters shows the Success Rate

      JIRA Logs show a SQL String error

      2017-04-10 17:33:51.205928500 2017-04-10 17:33:51,204 DualSearchExecutor:thread-1 ERROR scranford 909x1252x4  4.15.43.214 /rest/gadget/1.0/issueTable/jql [c.a.j.i.search.providers.SearchModeExecutor] Background search threw Exception
      2017-04-10 17:33:51.205929500 java.lang.StringIndexOutOfBoundsException: String index out of range: 0
      2017-04-10 17:33:51.205930500 	at java.lang.String.charAt(String.java:658)
      2017-04-10 17:33:51.205930500 	at com.querydsl.sql.SQLTemplates.requiresQuotes(SQLTemplates.java:823)
      2017-04-10 17:33:51.205930500 	at com.querydsl.sql.SQLTemplates.quoteIdentifier(SQLTemplates.java:813)
      2017-04-10 17:33:51.205963500 	at com.querydsl.sql.SQLTemplates.quoteIdentifier(SQLTemplates.java:809)
      2017-04-10 17:33:51.205963500 	at com.querydsl.sql.SQLSerializer.appendSchemaName(SQLSerializer.java:104)
      2017-04-10 17:33:51.205963500 	at com.querydsl.sql.SQLSerializer.handleJoinTarget(SQLSerializer.java:204)
      2017-04-10 17:33:51.205964500 	at com.querydsl.sql.SQLSerializer.serializeSources(SQLSerializer.java:656)
      2017-04-10 17:33:51.205964500 	at com.querydsl.sql.SQLSerializer.serializeForQuery(SQLSerializer.java:348)
      2017-04-10 17:33:51.205968500 	at com.querydsl.sql.SQLTemplates.serialize(SQLTemplates.java:844)
      2017-04-10 17:33:51.205969500 	at com.querydsl.sql.SQLSerializer.serialize(SQLSerializer.java:221)
      2017-04-10 17:33:51.205969500 	at com.querydsl.sql.SQLSerializer.visit(SQLSerializer.java:870)
      2017-04-10 17:33:51.205974500 	at com.querydsl.sql.SQLSerializer.visit(SQLSerializer.java:43)
      2017-04-10 17:33:51.205975500 	at com.querydsl.core.types.SubQueryExpressionImpl.accept(SubQueryExpressionImpl.java:57)
      2017-04-10 17:33:51.205975500 	at com.querydsl.core.support.SerializerBase.handle(SerializerBase.java:92)
      2017-04-10 17:33:51.205976500 	at com.querydsl.core.support.SerializerBase.visitOperation(SerializerBase.java:270)
      2017-04-10 17:33:51.205976500 	at com.querydsl.sql.SQLSerializer.visitOperation(SQLSerializer.java:1006)
      2017-04-10 17:33:51.205979500 	at com.querydsl.core.support.SerializerBase.visit(SerializerBase.java:231)
      2017-04-10 17:33:51.205980500 	at com.querydsl.core.support.SerializerBase.visit(SerializerBase.java:31)
      2017-04-10 17:33:51.205980500 	at com.querydsl.core.types.OperationImpl.accept(OperationImpl.java:83)
      2017-04-10 17:33:51.205980500 	at com.querydsl.core.support.SerializerBase.handle(SerializerBase.java:92)
      2017-04-10 17:33:51.205981500 	at com.querydsl.core.support.SerializerBase.visitOperation(SerializerBase.java:267)
      2017-04-10 17:33:51.205984500 	at com.querydsl.sql.SQLSerializer.visitOperation(SQLSerializer.java:1006)
      2017-04-10 17:33:51.205985500 	at com.querydsl.core.support.SerializerBase.visit(SerializerBase.java:231)
      2017-04-10 17:33:51.205985500 	at com.querydsl.core.support.SerializerBase.visit(SerializerBase.java:31)
      2017-04-10 17:33:51.205985500 	at com.querydsl.core.types.OperationImpl.accept(OperationImpl.java:83)
      2017-04-10 17:33:51.205990500 	at com.querydsl.core.support.SerializerBase.handle(SerializerBase.java:92)
      2017-04-10 17:33:51.205990500 	at com.querydsl.core.support.SerializerBase.visitOperation(SerializerBase.java:267)
      2017-04-10 17:33:51.205991500 	at com.querydsl.sql.SQLSerializer.visitOperation(SQLSerializer.java:1006)
      2017-04-10 17:33:51.205991500 	at com.querydsl.core.support.SerializerBase.visit(SerializerBase.java:231)
      2017-04-10 17:33:51.205994500 	at com.querydsl.core.support.SerializerBase.visit(SerializerBase.java:31)
      2017-04-10 17:33:51.205995500 	at com.querydsl.core.types.OperationImpl.accept(OperationImpl.java:83)
      2017-04-10 17:33:51.205995500 	at com.querydsl.core.support.SerializerBase.handle(SerializerBase.java:92)
      2017-04-10 17:33:51.205996500 	at com.querydsl.core.support.SerializerBase.visitOperation(SerializerBase.java:263)
      2017-04-10 17:33:51.205999500 	at com.querydsl.sql.SQLSerializer.visitOperation(SQLSerializer.java:1006)
      2017-04-10 17:33:51.205999500 	at com.querydsl.core.support.SerializerBase.visit(SerializerBase.java:231)
      2017-04-10 17:33:51.206000500 	at com.querydsl.core.support.SerializerBase.visit(SerializerBase.java:31)
      2017-04-10 17:33:51.206000500 	at com.querydsl.core.types.OperationImpl.accept(OperationImpl.java:83)
      2017-04-10 17:33:51.206004500 	at com.querydsl.core.support.SerializerBase.handle(SerializerBase.java:92)
      2017-04-10 17:33:51.206009500 	at com.querydsl.core.support.SerializerBase.visitOperation(SerializerBase.java:267)
      2017-04-10 17:33:51.206009500 	at com.querydsl.sql.SQLSerializer.visitOperation(SQLSerializer.java:1006)
      2017-04-10 17:33:51.206009500 	at com.querydsl.core.support.SerializerBase.visit(SerializerBase.java:231)
      2017-04-10 17:33:51.206010500 	at com.querydsl.core.support.SerializerBase.visit(SerializerBase.java:31)
      2017-04-10 17:33:51.206018500 	at com.querydsl.core.types.OperationImpl.accept(OperationImpl.java:83)
      2017-04-10 17:33:51.206018500 	at com.querydsl.core.support.SerializerBase.handle(SerializerBase.java:92)
      2017-04-10 17:33:51.206018500 	at com.querydsl.core.support.SerializerBase.visitOperation(SerializerBase.java:267)
      2017-04-10 17:33:51.206019500 	at com.querydsl.sql.SQLSerializer.visitOperation(SQLSerializer.java:1006)
      2017-04-10 17:33:51.206022500 	at com.querydsl.core.support.SerializerBase.visit(SerializerBase.java:231)
      2017-04-10 17:33:51.206023500 	at com.querydsl.core.support.SerializerBase.visit(SerializerBase.java:31)
      2017-04-10 17:33:51.206023500 	at com.querydsl.core.types.OperationImpl.accept(OperationImpl.java:83)
      2017-04-10 17:33:51.206023500 	at com.querydsl.core.support.SerializerBase.handle(SerializerBase.java:92)
      2017-04-10 17:33:51.206024500 	at com.querydsl.sql.SQLSerializer.serializeForQuery(SQLSerializer.java:356)
      2017-04-10 17:33:51.206028500 	at com.querydsl.sql.SQLTemplates.serialize(SQLTemplates.java:844)
      2017-04-10 17:33:51.206029500 	at com.querydsl.sql.SQLSerializer.serialize(SQLSerializer.java:221)
      2017-04-10 17:33:51.206029500 	at com.atlassian.jira.database.QueryPlanAnalyzer.processMetadataForAnalyzer(QueryPlanAnalyzer.java:96)
      2017-04-10 17:33:51.206030500 	at com.atlassian.jira.issue.search.vsearch.VQueryExplainerImpl.dbExplain(VQueryExplainerImpl.java:89)
      2017-04-10 17:33:51.206033500 	at com.atlassian.jira.issue.search.vsearch.VQueryExplainerImpl.getCollectionExplainCost(VQueryExplainerImpl.java:85)
      2017-04-10 17:33:51.206034500 	at com.atlassian.jira.issue.search.vsearch.VDualSearchProvider.lambda$collect$17(VDualSearchProvider.java:288)
      2017-04-10 17:33:51.206034500 	at com.atlassian.jira.issue.search.providers.SearchModeExecutor.lambda$recordDualSearch$5(SearchModeExecutor.java:289)
      2017-04-10 17:33:51.206038500 	at com.atlassian.jira.util.UnicornOnlyWorkContextCreatingExecutorService.lambda$wrapWithWorkContext$8(UnicornOnlyWorkContextCreatingExecutorService.java:218)
      2017-04-10 17:33:51.206039500 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      2017-04-10 17:33:51.206039500 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      2017-04-10 17:33:51.206044500 	at java.lang.Thread.run(Thread.java:745)
      

      Notes

      Workaround

      The SLA will need to be recreated as it is currently not possible to rename an SLA - Rename SLAs in Service Desk

        1. SLA Goals.png
          52 kB
          Shawn C

              Unassigned Unassigned
              scranford Shawn C
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: