Uploaded image for project: 'ONE'
  1. ONE
  2. ONE-28031

Sub scope reconfiguration throws exception if value is unavailable

    XMLWordPrintable

Details

    • Agile
    • BigPicture
    • JIRA server, JIRA cloud
    • 10
    • 10
    • $i18n.getText("admin.common.words.hide")
      $i18n.getText("admin.common.words.show")
      var cfToHide1 = document.getElementById("rowForcustomfield_18501"); if(cfToHide1){cfToHide1.style.display="none";} var cfToHide2 = document.getElementById("rowForcustomfield_18502"); if(cfToHide2){cfToHide2.style.display="none";} var cfToHide3 = document.getElementById("rowForcustomfield_19700"); if(cfToHide3){cfToHide3.style.display="none";} var cfToHide4 = document.getElementById("rowForcustomfield_18400"); if(cfToHide4){cfToHide4.style.display="none";}
    • Sprint 2020/22, Sprint 2020/23
    • PI2020/5
    • 3 hours, 28 minutes, 11 seconds
    • 2 days, 4 hours, 29 minutes, 50 seconds
    • 1 day, 15 hours, 41 minutes, 20 seconds
    • 1 day, 1 hour, 49 minutes, 8 seconds
    • 1 minute, 11 seconds
    • 8 seconds
    • 1 day, 23 minutes, 24 seconds

    Description

      Two scenarios:
      Scenario 1 - Team deletion

      1. Create a Box with sub scope and 3 teams (team A, team B, team C)
      2. Configure team A with sprint 1
      3. Configure team B with sprint 2
      4. Remove sprint 1 from Jira
      5. Remove team B from program
      6. Save

                 Expected result: we should validate only changed values

                 Actual result: There are exceptions in logs because we are unable to validate configuration with the value that does not exist.

      Scenario 2 - Team creation

      1. Create a Box with sub scope and 2 teams (team A, team B)
      2. Set sprint 1 for both team A and team B
      3. Remove sprint 1 from Jira
      4. Add a new team (team C)
      5. Set sprint 1 for team C
      6. Save

                 Expected result: we should ignore that autoconfiguration if subscope is corrupted

                 Actual result: There are exceptions in logs cause we are trying to set sprint 1 (which does not exist) to newly created team C.

       

      Stack trace example:

      com.softwareplant.util.concurrent.job.JobExecutionException: jobDescription: Async event handling: BoxTeamsAllocationChangedEvent com.softwareplant.util.validation.ValidationException: Sprint with id: 187 does not exist
       at com.softwareplant.system.tenant.core.concurrent.job.TenantSystemEndPointJobContext.call(TenantSystemEndPointJobContext.java:72)
       at com.softwareplant.system.core.concurrent.job.TransactionContextJobContextProxyFactory.lambda$createProxy$5df0134e$1(TransactionContextJobContextProxyFactory.java:18)
       at com.softwareplant.system.manager.jiraserver.environment.JiraJobContextProxyFactory.lambda$createProxy$fe459f1a$1(JiraJobContextProxyFactory.java:30)
       at com.softwareplant.util.concurrent.job.SingleJobExecutorImpl.lambda$execute$0(SingleJobExecutorImpl.java:32)
       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.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:652)
       at java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:649)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:649)
       at java.lang.Thread.run(Thread.java:748)
       Caused by: com.softwareplant.util.validation.ValidationException: Sprint with id: 187 does not exist
       at com.softwareplant.ppm.wbs.core.domain.SubWbsAdministrationImpl.validateExistingSubWbsConfiguration(SubWbsAdministrationImpl.java:204)
       at com.softwareplant.ppm.wbs.core.domain.SubWbsAdministrationImpl.setSubWbsFieldConfiguration(SubWbsAdministrationImpl.java:158)
       at com.softwareplant.ppm.box.schedule.scope.core.command.domain.configuration.wbs.BoxConfigurableSubWbs.update(BoxConfigurableSubWbs.java:62)
       at com.softwareplant.ppm.box.schedule.scope.core.command.domain.configuration.wbs.BoxConfigurableSubWbs.lambda$setValueForTeamId$10(BoxConfigurableSubWbs.java:175)
       at java.util.Optional.ifPresent(Optional.java:159)
       at com.softwareplant.ppm.box.schedule.scope.core.command.domain.configuration.wbs.BoxConfigurableSubWbs.lambda$teamAdded$8(BoxConfigurableSubWbs.java:141)
       at java.util.Optional.ifPresent(Optional.java:159)
       at com.softwareplant.ppm.box.schedule.scope.core.command.domain.configuration.wbs.BoxConfigurableSubWbs.teamAdded(BoxConfigurableSubWbs.java:141)
       at com.softwareplant.ppm.box.schedule.scope.core.command.domain.configuration.auto.BoxAutoConfigurationService.lambda$autoConfigureTeam$3(BoxAutoConfigurationService.java:67)
       at java.util.Optional.ifPresent(Optional.java:159)
       at com.softwareplant.ppm.box.schedule.scope.core.command.domain.configuration.auto.BoxAutoConfigurationService.autoConfigureTeam(BoxAutoConfigurationService.java:67)
       at com.softwareplant.ppm.box.schedule.scope.core.command.domain.configuration.auto.BoxAutoConfigurationService.lambda$autoConfigureTeam$2(BoxAutoConfigurationService.java:62)
       at java.lang.Iterable.forEach(Iterable.java:75)
       at com.softwareplant.ppm.box.schedule.scope.core.command.domain.configuration.auto.BoxAutoConfigurationService.autoConfigureTeam(BoxAutoConfigurationService.java:62)
       at com.softwareplant.ppm.box.schedule.scope.core.command.domain.configuration.auto.BoxAutoConfigurationEventSubscriber.onBoxAllocated(BoxAutoConfigurationEventSubscriber.java:54)
       at com.softwareplant.ppm.box.schedule.scope.core.command.domain.configuration.auto.BoxAutoConfigurationEventSubscriber.lambda$onBoxAllocated$0(BoxAutoConfigurationEventSubscriber.java:40)

      Attachments

        Issue Links

          Activity

            People

              jakub.bielawski Jakub Bielawski (Inactive)
              marcin.hareza Marcin Hareza
              martyna.turowska Martyna Turowska , system.jenkins Jenkins , pawel.guz Pawel Guz , system.gerrit Gerrit , grzegorz.duzy Grzegorz Duży , radoslaw.rachuba Radosław Rachuba , jakub.bielawski Jakub Bielawski (Inactive) , robert.wlodarczyk Robert Włodarczyk , marcin.hareza Marcin Hareza
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: