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

Avoid constant re-execution of jobs during DST switch

XMLWordPrintable

      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.

        This is the controller panel for Smart Panels app

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

                Created:
                Updated: