Uploaded image for project: 'JBoss BPMS Platform'
  1. JBoss BPMS Platform
  2. RHBPMS-5124

[GSS](6.4.z) Unable migrate process instance with active timer

    Details

    • Target Release:
    • Fix Build:
      CR1
    • Steps to Reproduce:
      Hide

      You can use my KJAR for reproducing but the essence of the issue is rather simple - migrate process instance while there is active timer.

      • Deploy the attached KJAR twice onto kie-server - use per process instance strategy
      • first time with ID TimerProjectV1
      • second time with ID TimerProjectV2

      Execute Migration with kie-server-client:

      	private static final String SRC_CONTAINER = "TimerProjectV1";
      	private static final String TARGET_CONTAINER = "TimerProjectV2";
      	private static final String SRC_PROCESS_ID = "TimerProject.TimerProcess1";
      	private static final String TARGET_PROCESS_ID = "TimerProject.TimerProcess2";
      
      ...
      long pid = processClient.startProcess(SRC_CONTAINER, SRC_PROCESS_ID);
      MigrationReportInstance report = admin.migrateProcessInstance(SRC_CONTAINER, pid, TARGET_CONTAINER,TARGET_PROCESS_ID);
      

      The migration will be successful, however, when the timer is suppose to fire after the migration, you will observe this exception -see ppi.log

      With Singleton the exception is different - see singleton.log

      Show
      You can use my KJAR for reproducing but the essence of the issue is rather simple - migrate process instance while there is active timer. Deploy the attached KJAR twice onto kie-server - use per process instance strategy first time with ID TimerProjectV1 second time with ID TimerProjectV2 Execute Migration with kie-server-client: private static final String SRC_CONTAINER = "TimerProjectV1" ; private static final String TARGET_CONTAINER = "TimerProjectV2" ; private static final String SRC_PROCESS_ID = "TimerProject.TimerProcess1" ; private static final String TARGET_PROCESS_ID = "TimerProject.TimerProcess2" ; ... long pid = processClient.startProcess(SRC_CONTAINER, SRC_PROCESS_ID); MigrationReportInstance report = admin.migrateProcessInstance(SRC_CONTAINER, pid, TARGET_CONTAINER,TARGET_PROCESS_ID); The migration will be successful, however, when the timer is suppose to fire after the migration, you will observe this exception -see ppi.log With Singleton the exception is different - see singleton.log

      Description

      It's not possible to use Migration API on a process instance with the active timer - even though you are not updating the timer definition itself.

      The issue seems to be independent of the timer implementation used (quartz, ejb, ..) and even runtime strategy (per process instance, singleton..)

        Gliffy Diagrams

          Attachments

          1. ppi.log
            8 kB
          2. repository1_TimerProject.zip
            20 kB
          3. singleton.log
            27 kB

            Issue Links

              Activity

                People

                • Assignee:
                  swiderski.maciej Maciej Swiderski
                  Reporter:
                  anton.giertli Anton Giertli
                  Tester:
                  Marian Macik
                • Votes:
                  1 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: