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

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 6.4.10
    • 6.4.8
    • jBPM Core, Kie-Server
    • BPM Suite 6.4.8

    • CR1
    • 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

      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..)

        1. ppi.log
          8 kB
          Anton Giertli
        2. singleton.log
          27 kB
          Anton Giertli

              swiderski.maciej Maciej Swiderski (Inactive)
              rhn-support-agiertli Anton Giertli
              Marian Macik Marian Macik
              Marian Macik Marian Macik
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: