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

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

      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

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

                Created:
                Updated:
                Resolved: