Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-11878

Avoid constant re-execution of jobs during DST switch

    XMLWordPrintable

Details

    Description

      The process engine has issues if the JVM is running in a timezone that uses Daylight Saving Time because the database schemas of most supported databases do not store timezone information. Especially during a switch from Summer to Winter time, it can happen that jobs are constantly due, their lock time expires "immediately" and they are executed for one hour in a permanent loop, always failing.

      With CAM-4866, we found that we cannot fix this fully transparently and decided to document the problem instead, advising users to run the Camunda JVM in a non-DST timezone, e.g. UTC.

      This ticket proposes to implement a partial fix that would degrade the behavior of Camunda during a DST switch, but with less problematic results for the user as it is now. In particular, we can try to detect if a Java Date object falls into a DST time switch (i.e. when the localized date is ambiguous in the time zone), and then modify it such that it becomes unambiguous.

      Example: If we create a job with a due date that falls into a DST switch, we add one hour to the due date to avoid the job being due during the time switch. Or alternatively, we can substract one hour from the timestamp we use for job acquisition.

      mgm-controller-panel

        This is the controller panel for Smart Panels app

        Attachments

          Issue Links

            Activity

              People

                Unassigned Unassigned
                thorben.lindhauer Thorben Lindhauer
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                  Created:
                  Updated:

                  Salesforce