Uploaded image for project: 'Jira Platform Cloud'
  1. Jira Platform Cloud
  2. JRACLOUD-71417

Import fails when backup contains users with blank e-mails

XMLWordPrintable

      Issue Summary

      Import fails when backup contains users with blank e-mails

      Environment

      • Jira Cloud

      Steps to Reproduce

      1. Delete 2 or more users in Jira
      2. Generate a backup of the Jira instance
      3. Try restoring the backup that was created

      Expected Results

      Backup restores successfully

      Actual Results

      Import fails with the following error in UI:

      Error importing data: com.atlassian.jira.log.clean.PrivacySafeException: Privacy-safe boxing of a com.atlassian.jira.bc.dataimport.identity.UsersAndGroupsImportHelper$WrappingCrowdException

      The logs show:

      2019-01-22 14:04:03.989	ERROR	com.atlassian.jira.bc.dataimport.identity.UsersAndGroupsImportHelper	Could not add user <USER>	Found more than one user with email	java.lang.IllegalStateException: Found more than one user with email at com.atlassian.crowd.directory.AbstractInternalDirectory.findUserByEmail(AbstractInternalDirectory.java:263) at com.atlassian.crowd.directory.DbCachingRemoteDirectory.findUserByEmail(DbCachingRemoteDirectory.java:246) at com.atlassian.crowd.manager.directory.DirectoryManagerGeneric.findUserByEmail(DirectoryManagerGeneric.java:337) at com.atlassian.crowd.manager.application.ApplicationServiceGeneric.findUserByEmail(ApplicationServiceGeneric.java:538) at com.atlassian.crowd.embedded.core.CrowdServiceImpl.getUserByEmail(CrowdServiceImpl.java:191) at com.atlassian.crowd.embedded.core.DelegatingCrowdService.getUserByEmail(DelegatingCrowdService.java:81) at com.atlassian.crowd.embedded.core.FilteredCrowdServiceImpl.getUserByEmail(FilteredCrowdServiceImpl.java:82) at com.atlassian.jira.bc.dataimport.identity.UsersAndGroupsImportHelper.transferUsersToCrowd(UsersAndGroupsImportHelper.java:276) at com.atlassian.jira.bc.dataimport.identity.UsersAndGroupsImportHelper.transferUsersToCrowd(UsersAndGroupsImportHelper.java:255) at com.atlassian.jira.bc.dataimport.identity.IdentityImportHelper.performMigration(IdentityImportHelper.java:134) at com.atlassian.jira.bc.dataimport.CloudImportTaskRunner.performTasksOnImportDb(CloudImportTaskRunner.java:397) at com.atlassian.jira.bc.dataimport.CloudImportTaskRunner.performTasksOnImportDb(CloudImportTaskRunner.java:485) at com.atlassian.jira.bc.dataimport.CloudImportTaskRunner.lambda$null$1(CloudImportTaskRunner.java:223) at com.atlassian.connpool.impl.AbstractConnectionPoolProvider.withPrivatePool(AbstractConnectionPoolProvider.java:133) at com.atlassian.jira.connpool.JiraViburConnectionPoolProvider.withPrivatePool(JiraViburConnectionPoolProvider.java:131) 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)
      2019-01-22 14:04:03.989 WARN com.atlassian.crowd.directory.InternalDirectory Found more than one user with email []    2019-01-22 14:04:03.989 WARN com.atlassian.crowd.directory.InternalDirectory Found more than one user with email []    
      

      Workaround

      Extract the entities.xml file from the ZIP archive and remove any lines that contain the following string:

      displayName="Former user" lowerDisplayName="former user" emailAddress="" lowerEmailAddress=""
      

              ohookins@atlassian.com Oliver Hookins (Inactive)
              hbui Houston B.
              Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: