Uploaded image for project: 'Migration Platform'
  1. Migration Platform
  2. MIG-1578

JSM only instances cannot migrate to cloud using JCMA as project selection cannot be performed

    XMLWordPrintable

Details

    • 31
    • Severity 3 - Minor
    • 240

    Description

      Issue Summary

      • In certain instances where only JSM is installed without a Jira Software license, the JCMA encounters errors when choosing the JSM projects. This issue is also observed with instances that only have Jira Core installed.
      • Checking the logs, the migrator will notice PSQL errors related to the fact that "AO_60DB71_RAPIDVIEW" table does not exist.

      This is reproducible on Data Center: Yes

      Steps to Reproduce

      1. Install the JSM version 4.12.1 and JCMA version 1.10.0 or 1.10.1 (Make sure you will only have a JSM or Core license, not a JSW one)
      2. Create a single sample project
      3. Migrate to Cloud
      4. Create a new migration Plan
      5. Select projects to migrate
      6. After selecting all the entities to migrate Click on Run pre-migration checks

      Expected Results

      • Execution of preflight checks and starting the migration.

      Actual Results

      • Migrator cannot migrate as no project can be selected

      Errors:

      2023-10-18 12:45:45,149+0000 http-nio-8080-exec-108 url: /jira/rest/migration/latest/stats/server; user: admin ERROR admin 765x934x12 fbrx6e zxxxxxxxx,xxxxxxxxx/rest/migration/latest/stats/server [c.a.p.r.c.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: com.querydsl.core.QueryException: Caught PSQLException for select count(*) from "public"."AO_60DB71_RAPIDVIEW" "AO_60DB71_RAPIDVIEW"
      com.google.common.util.concurrent.UncheckedExecutionException: com.querydsl.core.QueryException: Caught PSQLException for select count(*) from "public"."AO_60DB71_RAPIDVIEW" "AO_60DB71_RAPIDVIEW"
          at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2055)
          at com.google.common.cache.LocalCache.get(LocalCache.java:3966)
          at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989)
          at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950)
          at com.atlassian.jira.migration.serverdataextractors.ServerDataAggregator.getServerStats(ServerDataAggregator.kt:288)
          at com.atlassian.jira.migration.serverdataextractors.ServerDataAggregator.getServerStats$default(ServerDataAggregator.kt:221)
          at com.atlassian.jira.migration.serverdataextractors.ServerDataResource.serverStats(ServerDataResource.kt:86)
          at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.base/java.lang.reflect.Method.invoke(Method.java:566)
          ... 19 filtered
          at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:171)
          ... 1 filtered
          at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:75)
          ... 32 filtered
          at com.atlassian.servicedesk.internal.web.ExternalCustomerLockoutFilter.doFilter(ExternalCustomerLockoutFilter.java:55)
          ... 8 filtered
          at com.atlassian.jira.plugin.mobile.web.filter.MobileAppRequestFilter.doFilter(MobileAppRequestFilter.java:59)
          ... 4 filtered
          at com.atlassian.jira.plugin.mobile.login.MobileLoginSuccessFilter.doFilter(MobileLoginSuccessFilter.java:54)
          ... 3 filtered
          at com.atlassian.diagnostics.internal.platform.monitor.http.HttpRequestMonitoringFilter.doFilter(HttpRequestMonitoringFilter.java:54)
          ... 8 filtered
          at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
          ... 43 filtered
          at com.atlassian.oauth2.scopes.web.ReadWriteScopeFilter.doFilter(ReadWriteScopeFilter.java:46)
          ... 3 filtered
          at com.atlassian.ratelimiting.internal.filter.RateLimitFilter.doFilter(RateLimitFilter.java:73)
          ... 3 filtered
          at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46)
          ... 17 filtered
          at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:66)
          ... 1 filtered
          at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:64)
          ... 16 filtered
          at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:38)
          ... 3 filtered
          at com.atlassian.pats.web.filter.TokenBasedAuthenticationFilter.doFilter(TokenBasedAuthenticationFilter.java:82)
          ... 3 filtered
          at com.atlassian.oauth2.provider.core.web.AccessTokenFilter.doFilter(AccessTokenFilter.java:81)
          ... 19 filtered
          at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
          ... 5 filtered
          at com.atlassian.plugins.authentication.impl.basicauth.filter.DisableBasicAuthFilter.doFilter(DisableBasicAuthFilter.java:70)
          ... 3 filtered
          at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:220)
          at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.rteInvoke(ReentrantThreadLocalBasedCodeContext.java:136)
          at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.runOutOfContext(ReentrantThreadLocalBasedCodeContext.java:89)
          at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.runOutOfCustomerContext(CustomerContextServiceImpl.java:47)
          at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.outOfCustomerContext(CustomerContextSettingFilter.java:211)
          at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:139)
          at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:128)
          ... 4 filtered
          at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:37)
          ... 8 filtered
          at com.atlassian.ratelimiting.internal.filter.RateLimitPreAuthFilter.doFilter(RateLimitPreAuthFilter.java:71)
          ... 3 filtered
          at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
          ... 4 filtered
          at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46)
          ... 3 filtered
          at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36)
          ... 26 filtered
          at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
          ... 25 filtered
          at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
          at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
          at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
          at java.base/java.lang.Thread.run(Thread.java:829)
      Caused by: com.querydsl.core.QueryException: Caught PSQLException for select count(*) from "public"."AO_60DB71_RAPIDVIEW" "AO_60DB71_RAPIDVIEW"
          at com.querydsl.sql.DefaultSQLExceptionTranslator.translate(DefaultSQLExceptionTranslator.java:50)
          at com.querydsl.sql.Configuration.translate(Configuration.java:459)
          at com.querydsl.sql.AbstractSQLQuery.unsafeCount(AbstractSQLQuery.java:627)
          at com.querydsl.sql.AbstractSQLQuery.fetchCount(AbstractSQLQuery.java:132)
          at com.atlassian.jira.migration.serverdataextractors.JiraServerStatsReader.fetchAllRapidViewsCount$lambda$34(JiraServerStatsReader.kt:476)
          at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.lambda$execute$0(DatabaseAccessorImpl.java:69)
          at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.executeInternal(DefaultTransactionalExecutor.java:109)
          at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.lambda$execute$0(DefaultTransactionalExecutor.java:64)
          at com.atlassian.jira.database.DatabaseAccessorImpl.runInManagedTransaction(DatabaseAccessorImpl.java:134)
          at jdk.internal.reflect.GeneratedMethodAccessor160.invoke(Unknown Source)
          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.base/java.lang.reflect.Method.invoke(Method.java:566)
          at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
          at com.sun.proxy.$Proxy654.runInManagedTransaction(Unknown Source)
          at jdk.internal.reflect.GeneratedMethodAccessor160.invoke(Unknown Source)
          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.base/java.lang.reflect.Method.invoke(Method.java:566)
          at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:130)
          at com.sun.proxy.$Proxy654.runInManagedTransaction(Unknown Source)
          at com.atlassian.sal.jira.rdbms.JiraHostConnectionAccessor.runInStartedOrExistingTransaction(JiraHostConnectionAccessor.java:130)
          at com.atlassian.sal.jira.rdbms.JiraHostConnectionAccessor.execute(JiraHostConnectionAccessor.java:60)
          at com.atlassian.sal.core.rdbms.DefaultTransactionalExecutor.execute(DefaultTransactionalExecutor.java:61)
          at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.execute(DatabaseAccessorImpl.java:67)
          at com.atlassian.pocketknife.internal.querydsl.DatabaseAccessorImpl.runInTransaction(DatabaseAccessorImpl.java:43)
          at com.atlassian.pocketknife.api.querydsl.DatabaseAccessor.run(DatabaseAccessor.java:201)
          at com.atlassian.jira.migration.serverdataextractors.JiraServerStatsReader.fetchAllRapidViewsCount(JiraServerStatsReader.kt:474)
          at com.atlassian.jira.migration.serverdataextractors.ServerDataAggregator.loadAllRapidViewsCount(ServerDataAggregator.kt:86)
          at com.atlassian.jira.migration.serverdataextractors.ServerDataAggregator.loadCache(ServerDataAggregator.kt:76)
          at com.atlassian.jira.migration.serverdataextractors.ServerDataAggregator.access$loadCache(ServerDataAggregator.kt:37)
          at com.atlassian.jira.migration.serverdataextractors.ServerDataAggregator$loader$1.load(ServerDataAggregator.kt:58)
          at com.atlassian.jira.migration.serverdataextractors.ServerDataAggregator$loader$1.load(ServerDataAggregator.kt:57)
          at com.google.common.cache.CacheLoader$1.load(CacheLoader.java:193)
          at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3533)
          at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2282)
          at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2159)
          at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049)
          ... 308 more
      Caused by: org.postgresql.util.PSQLException: ERROR: relation "public.AO_60DB71_RAPIDVIEW" does not exist
        Position: 22
          at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2713)
          at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2401)
          at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:368)
          at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:498)
          at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:415)
          at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:190)
          at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:134)
          at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:122)
          at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:122)
          at com.atlassian.jira.ofbiz.sql.PreparedStatementWrapper.executeQuery(PreparedStatementWrapper.java:42)
          at com.atlassian.jira.diagnostic.connection.DiagnosticPreparedStatement.lambda$executeQuery$5(DiagnosticPreparedStatement.java:59)
          at com.atlassian.diagnostics.internal.platform.monitor.db.DefaultDatabaseDiagnosticsCollector.recordExecutionTime(DefaultDatabaseDiagnosticsCollector.java:91)
          at com.atlassian.jira.diagnostic.connection.DatabaseDiagnosticsCollectorDelegate.recordExecutionTime(DatabaseDiagnosticsCollectorDelegate.java:62)
          at com.atlassian.jira.diagnostic.connection.DiagnosticPreparedStatement.executeQuery(DiagnosticPreparedStatement.java:59)
          at com.querydsl.sql.AbstractSQLQuery.unsafeCount(AbstractSQLQuery.java:616)
          ... 341 more
      -----------------------
      023-10-18 12:47:00,340+0000 http-nio-8080-exec-91 url: /jira/rest/migration/latest/crossprojectdata/boards-and-filters; user: admin ERROR admin 767x1046x2 fbrx6e xxx.xx.xxx.xx,1xx.xx.xx.x /rest/migration/latest/crossprojectdata/boards-and-filters [c.a.p.r.c.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: No qualifying bean of type 'com.atlassian.jira.migration.serverdataextractors.cpb.service.CPBRapidViewService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
      org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.atlassian.jira.migration.serverdataextractors.cpb.service.CPBRapidViewService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1801)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1357)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory$DependencyObjectProvider.getValue(DefaultListableBeanFactory.java:2102)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory$Jsr330Factory$Jsr330Provider.get(DefaultListableBeanFactory.java:2145)
          at com.atlassian.jira.migration.serverdataextractors.cpb.rest.CPBDataResource.getCrossProjectBoardsAndFiltersStats(CPBDataResource.kt:57)
          at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.base/java.lang.reflect.Method.invoke(Method.java:566)
          ... 19 filtered
          at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:171)
          ... 1 filtered
          at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:75)
          ... 32 filtered
          at com.atlassian.servicedesk.internal.web.ExternalCustomerLockoutFilter.doFilter(ExternalCustomerLockoutFilter.java:55)
          ... 8 filtered
          at com.atlassian.jira.plugin.mobile.web.filter.MobileAppRequestFilter.doFilter(MobileAppRequestFilter.java:59)
          ... 4 filtered
          at com.atlassian.jira.plugin.mobile.login.MobileLoginSuccessFilter.doFilter(MobileLoginSuccessFilter.java:54)
          ... 3 filtered
          at com.atlassian.diagnostics.internal.platform.monitor.http.HttpRequestMonitoringFilter.doFilter(HttpRequestMonitoringFilter.java:54)
          ... 8 filtered
          at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
          ... 43 filtered
          at com.atlassian.oauth2.scopes.web.ReadWriteScopeFilter.doFilter(ReadWriteScopeFilter.java:46)
          ... 3 filtered
          at com.atlassian.ratelimiting.internal.filter.RateLimitFilter.doFilter(RateLimitFilter.java:73)
          ... 3 filtered
          at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46)
          ... 17 filtered
          at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:66)
          ... 1 filtered
          at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:64)
          ... 16 filtered
          at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:38)
          ... 3 filtered
          at com.atlassian.pats.web.filter.TokenBasedAuthenticationFilter.doFilter(TokenBasedAuthenticationFilter.java:82)
          ... 3 filtered
          at com.atlassian.oauth2.provider.core.web.AccessTokenFilter.doFilter(AccessTokenFilter.java:81)
          ... 19 filtered
          at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
          ... 5 filtered
          at com.atlassian.plugins.authentication.impl.basicauth.filter.DisableBasicAuthFilter.doFilter(DisableBasicAuthFilter.java:70)
          ... 3 filtered
          at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:220)
          at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.rteInvoke(ReentrantThreadLocalBasedCodeContext.java:136)
          at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.runOutOfContext(ReentrantThreadLocalBasedCodeContext.java:89)
          at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.runOutOfCustomerContext(CustomerContextServiceImpl.java:47)
          at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.outOfCustomerContext(CustomerContextSettingFilter.java:211)
          at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:139)
          at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:128)
          ... 4 filtered
          at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:37)
          ... 8 filtered
          at com.atlassian.ratelimiting.internal.filter.RateLimitPreAuthFilter.doFilter(RateLimitPreAuthFilter.java:71)
          ... 3 filtered
          at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
          ... 4 filtered
          at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46)
          ... 3 filtered
          at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36)
          ... 26 filtered
          at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
          ... 25 filtered
          at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
          at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
          at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
          at java.base/java.lang.Thread.run(Thread.java:829) 

      Error on UI: ** Error communication with server. Retry again in a few minutes. Contact support if you continue to receive this error.

      Affected JCMA version: 1.10.0, 1.10.1, 1.10.2 & 1.10.3, 1.10.5

      Workaround

      Attachments

        Issue Links

          Activity

            People

              6c61e5514587 Nitin Suri
              8fd6bdb2c853 Ismail Shaikh
              Votes:
              6 Vote for this issue
              Watchers:
              26 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: