Uploaded image for project: 'Red Hat Process Automation Manager'
  1. Red Hat Process Automation Manager
  2. RHPAM-400

Unable migrate process instance with active timer

XMLWordPrintable

    • ER1
    • 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
        2. repository1_TimerProject.zip
          20 kB
        3. singleton.log
          27 kB

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

              Created:
              Updated:
              Resolved: