Uploaded image for project: 'Jira Service Management Data Center'
  1. Jira Service Management Data Center
  2. JSDSERVER-3715

Auto complete for Customer Request Type not working in searching issue when using MSSQL database.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Low
    • 3.4.2
    • 3.1.2, 3.1.4, 3.1.9, 3.2.0, 3.2.1
    • Issue View

    Description

      Summary

      Auto complete for Customer Request Type not working in searching issue when using MSSQL database.

      Environment

      • MSSQL database

      Steps to Reproduce

      1. Go to Issue > Search Issue > Advance
      2. Type Customer Request Type" , then click the list down field . Then continue to type *=" .

      Expected Results

      List of request type will displayed .

      Actual Results

      The list of request type is not displayed .
      Running HAR file will show :-

      The below exception is thrown in the atlassian-jira.log file:

      2016-04-22 09:20:35,143 http-nio-80-exec-24 ERROR a_tyncherov_admin 560x230x1 1ji9ci7 192.168.9.100 /rest/api/2/jql/autocompletedata/suggestions [c.a.j.rest.exception.ExceptionInterceptor] Returning internal server error in response
      java.lang.reflect.InvocationTargetException
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$ResponseOutInvoker$1.invoke(DispatchProviderHelper.java:192)
      	... 4 filtered
      	at com.atlassian.jira.rest.exception.ExceptionInterceptor.intercept(ExceptionInterceptor.java:55)
      	... 1 filtered
      	at com.atlassian.jira.rest.v2.issue.scope.RequestScopeInterceptor.intercept(RequestScopeInterceptor.java:39)
      	... 15 filtered
      	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:154)
      	... 1 filtered
      	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:68)
      	... 83 filtered
      	at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:70)
      	... 16 filtered
      	at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:37)
      	... 22 filtered
      	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:169)
      	at com.atlassian.servicedesk.internal.util.scala.ScalaJavaInterOp$1.apply(ScalaJavaInterOp.java:25)
      	at com.atlassian.servicedesk.internal.utils.context.CustomerContextUtil$.outOfCustomerContext(CustomerContextUtil.scala:48)
      	at com.atlassian.servicedesk.internal.utils.context.CustomerContextUtil.outOfCustomerContext(CustomerContextUtil.scala)
      	at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.outOfCustomerContext(CustomerContextServiceImpl.java:24)
      	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.outOfCustomerContext(CustomerContextSettingFilter.java:164)
      	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:120)
      	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:112)
      	... 55 filtered
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
      	at java.lang.Thread.run(Unknown Source)
      
      Caused by: com.querydsl.core.QueryException: Caught SQLException for select "AO_54307E_VIEWPORTFORM"."CALL_TO_ACTION", "AO_54307E_VIEWPORTFORM"."DESCRIPTION", "AO_54307E_VIEWPORTFORM"."FORM_ORDER", "AO_54307E_VIEWPORTFORM"."ICON", "AO_54307E_VIEWPORTFORM"."ICON_ID", "AO_54307E_VIEWPORTFORM"."ID", "AO_54307E_VIEWPORTFORM"."INTRO", "AO_54307E_VIEWPORTFORM"."ISSUE_TYPE_ID", "AO_54307E_VIEWPORTFORM"."KEY", "AO_54307E_VIEWPORTFORM"."NAME", "AO_54307E_VIEWPORTFORM"."VIEWPORT_ID" from "dbo"."AO_54307E_VIEWPORTFORM" "AO_54307E_VIEWPORTFORM" inner join "dbo"."AO_54307E_VIEWPORT" "AO_54307E_VIEWPORT" on "AO_54307E_VIEWPORTFORM"."VIEWPORT_ID" = "AO_54307E_VIEWPORT"."ID" where "AO_54307E_VIEWPORTFORM"."VIEWPORT_ID" = ? and (lower("AO_54307E_VIEWPORTFORM"."NAME") like ? escape '\' or (lower("AO_54307E_VIEWPORTFORM"."DESCRIPTION") like ? escape '\') or (lower("AO_54307E_VIEWPORTFORM"."INTRO") like ? escape '\') and ("AO_54307E_VIEWPORTFORM"."ISSUE_TYPE_ID" in (select cast("issuetype"."ID" as bigint) from "dbo"."issuetype" "issuetype"))) order by "AO_54307E_VIEWPORT"."NAME" asc, "AO_54307E_VIEWPORTFORM"."FORM_ORDER" asc offset ? rows fetch next ? rows only
      	at com.querydsl.sql.DefaultSQLExceptionTranslator.translate(DefaultSQLExceptionTranslator.java:50)
      	at com.querydsl.sql.Configuration.translate(Configuration.java:453)
      	at com.querydsl.sql.AbstractSQLQuery.fetch(AbstractSQLQuery.java:502)
      	at com.atlassian.servicedesk.internal.feature.customer.request.requesttype.RequestTypeQStoreImpl.lambda$searchRequestTypes$5(RequestTypeQStoreImpl.java:158)
      	at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.lambda$execute$0(DatabaseAccessorImpl.java:66)
      	at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor$1.execute(DefaultTransactionalExecutor.java:45)
      	at com.atlassian.sal.jira.rdbms.JiraHostConnectionAccessor.lambda$borrowConnectionAndExecute$0(JiraHostConnectionAccessor.java:62)
      	at com.atlassian.jira.database.DatabaseAccessorImpl.executeQuery(DatabaseAccessorImpl.java:67)
      	... 2 filtered
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
      	at com.sun.proxy.$Proxy261.executeQuery(Unknown Source)
      	... 2 filtered
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:136)
      	at com.sun.proxy.$Proxy261.executeQuery(Unknown Source)
      	at com.atlassian.sal.jira.rdbms.JiraHostConnectionAccessor.borrowConnectionAndExecute(JiraHostConnectionAccessor.java:50)
      	at com.atlassian.sal.jira.rdbms.JiraHostConnectionAccessor.execute(JiraHostConnectionAccessor.java:40)
      	at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.execute(DefaultTransactionalExecutor.java:42)
      	at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.execute(DatabaseAccessorImpl.java:64)
      	at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.runInTransaction(DatabaseAccessorImpl.java:40)
      	at com.atlassian.servicedesk.internal.feature.customer.request.requesttype.RequestTypeQStoreImpl.searchRequestTypes(RequestTypeQStoreImpl.java:150)
      	at com.atlassian.servicedesk.internal.feature.customer.request.requesttype.RequestTypeInternalManager.searchRequestTypes(RequestTypeInternalManager.java:131)
      	at com.atlassian.servicedesk.internal.feature.customer.request.requesttype.RequestTypeInternalServiceImpl.searchRequestTypes(RequestTypeInternalServiceImpl.java:196)
      	at com.atlassian.servicedesk.internal.customfields.origin.VpOriginClauseValueGenerator.buildRequestTypeSuggestions(VpOriginClauseValueGenerator.java:64)
      	at com.atlassian.servicedesk.internal.customfields.origin.VpOriginClauseValueGenerator.lambda$getPossibleValues$0(VpOriginClauseValueGenerator.java:51)
      	at com.atlassian.pocketknife.OptionStep1.lambda$yield$1(OptionStep1.java:33)
      	at com.atlassian.fugue.Option.map(Option.java:272)
      	at com.atlassian.pocketknife.OptionStep1.yield(OptionStep1.java:33)
      	at com.atlassian.servicedesk.internal.customfields.origin.VpOriginClauseValueGenerator.getPossibleValues(VpOriginClauseValueGenerator.java:51)
      	at com.atlassian.jira.rest.internal.jql.FieldAndPredicateAutoCompleteResultGenerator.generateResults(FieldAndPredicateAutoCompleteResultGenerator.java:82)
      	at com.atlassian.jira.rest.internal.jql.FieldAndPredicateAutoCompleteResultGenerator.getAutoCompleteResultsForField(FieldAndPredicateAutoCompleteResultGenerator.java:53)
      	at com.atlassian.jira.rest.v2.search.SearchAutoCompleteResource.getFieldAutoCompleteForQueryString(SearchAutoCompleteResource.java:127)
      	... 259 more
      Caused by: java.sql.SQLException: Argument data type ntext is invalid for argument 1 of lower function.
      	at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:372)
      	at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2988)
      	at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2421)
      	at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:671)
      	at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:505)
      	at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:83)
      	at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:83)
      	at com.querydsl.sql.AbstractSQLQuery.fetch(AbstractSQLQuery.java:446)
      	... 292 more
      

      Workaround

      1. Migrate from MS SQL Server to another supported database from the list at Supported platforms

      Attachments

        Issue Links

          Activity

            People

              szaporozhtsev Sergey Zaporozhtsev (Inactive)
              nroslan Atiqah Roslan
              Votes:
              13 Vote for this issue
              Watchers:
              15 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Backbone Issue Sync