Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-11590

Cancelled timer not removed from internal cache when using persistent timers

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 15.0.1.Final
    • Fix Version/s: 16.0.0.Beta1, 16.0.0.Final
    • Component/s: EJB
    • Labels:
      None
    • Environment:
      • 2 WildFly server running the same application (not necessarily clustered), but using the same database persistence for timers
    • Steps to Reproduce:
      Hide

      1.) 2 WildFly server with the same configuration using an EJB timer with DB persistence.
      2.) the attached application (playground-jar.jar) that starts 2 timer (1 scanner timer and 1 future timer)

      • the scanner timer runs every couple of seconds (e. g. 4 sec)
      • the future timer will never execute, it is always only cancelled and newly created by the scanner timer (always adding 1 hour)
        3.) running both servers with simple standalone.xml with persistent database timer with a refresh-interval of 2000 (2 seconds) configuration and a port offset

      It can be observed that the output for getTimers() on one node will increase in it's number.

      Show
      1.) 2 WildFly server with the same configuration using an EJB timer with DB persistence. 2.) the attached application ( playground-jar.jar ) that starts 2 timer (1 scanner timer and 1 future timer) the scanner timer runs every couple of seconds (e. g. 4 sec) the future timer will never execute, it is always only cancelled and newly created by the scanner timer (always adding 1 hour) 3.) running both servers with simple standalone.xml with persistent database timer with a refresh-interval of 2000 (2 seconds) configuration and a port offset It can be observed that the output for getTimers() on one node will increase in it's number.

      Description

      When using database persistence for timers, the timers that are synced via the RefreshTask and lateron removed by the RefreshTask will not be deleted from the internal timers cache in TimerServiceImpl.java

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  jbaesner Joerg Baesner
                  Reporter:
                  jbaesner Joerg Baesner
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: