-
Type:
Bug
-
Resolution: Fixed
-
Priority:
High
-
Component/s: Backup & Restore - Import From JIRA Server
-
None
-
6
-
Severity 3 - Minor
Summary
Migrating Jira from Server to Cloud fails if no directory is present
Expected Results
Migration is completed successfully without errors
Actual Results
Access to logs are only available for Cloud Support Engineers, please contact support before applying the workaround:
Migration fails with the following errors showing in logs
2018-04-26 11:19:24.228 ERROR com.atlassian.jira.internal.rest.AsyncCloudTaskRunner.privacy-safe Non recoverable error occurred during cloudImport. Import task failed: [Error importing data: com.atlassian.jira.log.clean.PrivacySafeException: Privacy-safe boxing of a java.lang.NullPointerException] cloud.atlassian.provisioning.exception.PermanentProvisioningFailureException: Import task failed: [Error importing data: com.atlassian.jira.log.clean.PrivacySafeException: Privacy-safe boxing of a java.lang.NullPointerException] at com.atlassian.jira.internal.rest.CloudBackupManager.startImport(CloudBackupManager.java:94) at com.atlassian.jira.internal.rest.ImportResource.lambda$importArchive$1(ImportResource.java:75) at com.atlassian.jira.internal.rest.AbstractCloudProvisionerResource.lambda$withTenantedWorkContext$1(AbstractCloudProvisionerResource.java:95) at com.atlassian.jira.internal.filter.InternalResource.withWorkContext(InternalResource.java:104) at com.atlassian.jira.internal.rest.AbstractCloudProvisionerResource.withTenantedWorkContext(AbstractCloudProvisionerResource.java:80) at com.atlassian.jira.internal.rest.ImportResource.importArchive(ImportResource.java:74) at com.atlassian.jira.internal.rest.ImportResource.lambda$post$0(ImportResource.java:65) at com.atlassian.jira.internal.rest.AsyncCloudTaskRunner$AsyncCloudProvisionerHelper.wrapTask(AsyncCloudTaskRunner.java:147) at com.atlassian.jira.internal.rest.AsyncCloudTaskRunner$AsyncCloudProvisionerHelper.lambda$runAsync$0(AsyncCloudTaskRunner.java:127) at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590) at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1582) at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) 2018-04-26 11:19:24.195 ERROR com.atlassian.jira.bc.dataimport.CloudImportTaskRunner.privacy-safe Error occurred while importing users Privacy-safe boxing of a java.lang.NullPointerException com.atlassian.jira.log.clean.PrivacySafeException: Privacy-safe boxing of a java.lang.NullPointerException at okhttp3.HttpUrl$Builder.addEncodedPathSegment(HttpUrl.java:1068) at com.atlassian.jira.crowd.embedded.JiraCustomerAccountDirectoryServiceClient.getDirectoryBasedUrlBuilder(JiraCustomerAccountDirectoryServiceClient.java:160) at com.atlassian.jira.crowd.embedded.JiraCustomerAccountDirectoryServiceClient.getUsersUpdatedSince(JiraCustomerAccountDirectoryServiceClient.java:98) at com.atlassian.crowd.directory.customeraccount.CustomerAccountRemoteDirectoryImpl.getAllUsersFromCustomerAccountDirectory(CustomerAccountRemoteDirectoryImpl.java:87) at com.atlassian.crowd.directory.customeraccount.CustomerAccountRemoteDirectoryImpl.getUsersUpdatedSince(CustomerAccountRemoteDirectoryImpl.java:78) at com.atlassian.crowd.directory.customeraccount.sync.CustomerAccountCacheRefresherImpl.synchroniseSinglePageOfUser(CustomerAccountCacheRefresherImpl.java:150) at com.atlassian.crowd.directory.customeraccount.sync.CustomerAccountCacheRefresherImpl.synchroniseAllPages(CustomerAccountCacheRefresherImpl.java:118) at com.atlassian.crowd.directory.customeraccount.sync.CustomerAccountCacheRefresherImpl.synchroniseAllUsersFromUpdatedAt(CustomerAccountCacheRefresherImpl.java:109) at com.atlassian.crowd.directory.customeraccount.sync.CustomerAccountCacheRefresherImpl.synchroniseUsers(CustomerAccountCacheRefresherImpl.java:82) at com.atlassian.crowd.directory.DbCachingRemoteDirectory.synchroniseCustomerAccountDirectory(DbCachingRemoteDirectory.java:2058) at com.atlassian.crowd.manager.directory.DirectorySynchroniserImpl.doCustomerAccountDirectorySynchronisation(DirectorySynchroniserImpl.java:153) at com.atlassian.crowd.manager.directory.DirectorySynchroniserImpl.synchroniseCustomerAccountDirectory(DirectorySynchroniserImpl.java:133) at com.atlassian.crowd.manager.directory.DirectoryManagerGeneric.synchroniseCustomerAccountDirectory(DirectoryManagerGeneric.java:242) at com.atlassian.crowd.embedded.core.CrowdDirectoryServiceImpl.synchroniseCustomerAccountDirectory(CrowdDirectoryServiceImpl.java:181) at com.atlassian.jira.provisioning.IdpDirectoryProvisioner.synchroniseCustomerAccountDirectory(IdpDirectoryProvisioner.java:83) at com.atlassian.jira.bc.dataimport.identity.IdentityImportHelper.synchroniseCustomerAccountDirectory(IdentityImportHelper.java:146) at com.atlassian.jira.bc.dataimport.identity.IdentityImportHelper.performMigration(IdentityImportHelper.java:131) at com.atlassian.jira.bc.dataimport.CloudImportTaskRunner.performTasksOnImportDb(CloudImportTaskRunner.java:333) at com.atlassian.jira.bc.dataimport.CloudImportTaskRunner.performTasksOnImportDb(CloudImportTaskRunner.java:358) at com.atlassian.jira.bc.dataimport.CloudImportTaskRunner.lambda$null$1(CloudImportTaskRunner.java:167) at com.atlassian.connpool.impl.AbstractConnectionPoolProvider.withPrivatePool(AbstractConnectionPoolProvider.java:133) at com.atlassian.jira.connpool.JiraViburConnectionPoolProvider.withPrivatePool(JiraViburConnectionPoolProvider.java:94) at com.atlassian.jira.bc.dataimport.AbstractBackupTaskRunner.lambda$null$0(AbstractBackupTaskRunner.java:63) at java.util.Optional.map(Optional.java:215) at com.atlassian.jira.bc.dataimport.AbstractBackupTaskRunner.lambda$runWithSeparateContextAsync$1(AbstractBackupTaskRunner.java:62) at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) 2018-04-26 11:19:24.195 ERROR com.atlassian.jira.bc.dataimport.CloudImportTaskRunner Error occurred while importing users encodedPathSegment == null java.lang.NullPointerException: encodedPathSegment == null at okhttp3.HttpUrl$Builder.addEncodedPathSegment(HttpUrl.java:1068) at com.atlassian.jira.crowd.embedded.JiraCustomerAccountDirectoryServiceClient.getDirectoryBasedUrlBuilder(JiraCustomerAccountDirectoryServiceClient.java:160) at com.atlassian.jira.crowd.embedded.JiraCustomerAccountDirectoryServiceClient.getUsersUpdatedSince(JiraCustomerAccountDirectoryServiceClient.java:98) at com.atlassian.crowd.directory.customeraccount.CustomerAccountRemoteDirectoryImpl.getAllUsersFromCustomerAccountDirectory(CustomerAccountRemoteDirectoryImpl.java:87) at com.atlassian.crowd.directory.customeraccount.CustomerAccountRemoteDirectoryImpl.getUsersUpdatedSince(CustomerAccountRemoteDirectoryImpl.java:78) at com.atlassian.crowd.directory.customeraccount.sync.CustomerAccountCacheRefresherImpl.synchroniseSinglePageOfUser(CustomerAccountCacheRefresherImpl.java:150) at com.atlassian.crowd.directory.customeraccount.sync.CustomerAccountCacheRefresherImpl.synchroniseAllPages(CustomerAccountCacheRefresherImpl.java:118) at com.atlassian.crowd.directory.customeraccount.sync.CustomerAccountCacheRefresherImpl.synchroniseAllUsersFromUpdatedAt(CustomerAccountCacheRefresherImpl.java:109) at com.atlassian.crowd.directory.customeraccount.sync.CustomerAccountCacheRefresherImpl.synchroniseUsers(CustomerAccountCacheRefresherImpl.java:82) at com.atlassian.crowd.directory.DbCachingRemoteDirectory.synchroniseCustomerAccountDirectory(DbCachingRemoteDirectory.java:2058) at com.atlassian.crowd.manager.directory.DirectorySynchroniserImpl.doCustomerAccountDirectorySynchronisation(DirectorySynchroniserImpl.java:153) at com.atlassian.crowd.manager.directory.DirectorySynchroniserImpl.synchroniseCustomerAccountDirectory(DirectorySynchroniserImpl.java:133) at com.atlassian.crowd.manager.directory.DirectoryManagerGeneric.synchroniseCustomerAccountDirectory(DirectoryManagerGeneric.java:242) at com.atlassian.crowd.embedded.core.CrowdDirectoryServiceImpl.synchroniseCustomerAccountDirectory(CrowdDirectoryServiceImpl.java:181) at com.atlassian.jira.provisioning.IdpDirectoryProvisioner.synchroniseCustomerAccountDirectory(IdpDirectoryProvisioner.java:83) at com.atlassian.jira.bc.dataimport.identity.IdentityImportHelper.synchroniseCustomerAccountDirectory(IdentityImportHelper.java:146) at com.atlassian.jira.bc.dataimport.identity.IdentityImportHelper.performMigration(IdentityImportHelper.java:131) at com.atlassian.jira.bc.dataimport.CloudImportTaskRunner.performTasksOnImportDb(CloudImportTaskRunner.java:333) at com.atlassian.jira.bc.dataimport.CloudImportTaskRunner.performTasksOnImportDb(CloudImportTaskRunner.java:358) at com.atlassian.jira.bc.dataimport.CloudImportTaskRunner.lambda$null$1(CloudImportTaskRunner.java:167) at com.atlassian.connpool.impl.AbstractConnectionPoolProvider.withPrivatePool(AbstractConnectionPoolProvider.java:133) at com.atlassian.jira.connpool.JiraViburConnectionPoolProvider.withPrivatePool(JiraViburConnectionPoolProvider.java:94) at com.atlassian.jira.bc.dataimport.AbstractBackupTaskRunner.lambda$null$0(AbstractBackupTaskRunner.java:63) at java.util.Optional.map(Optional.java:215) at com.atlassian.jira.bc.dataimport.AbstractBackupTaskRunner.lambda$runWithSeparateContextAsync$1(AbstractBackupTaskRunner.java:62) at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
Workaround
Activate Jira Service Desk application before the import and deactivate it after the import completed.