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

Add clustered database based timers


    • Type: Feature Request
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 9.0.0.Beta1
    • Component/s: EJB
    • Labels:


      Clustering should be supported for database timers.

      The general ideal will be that a single database is shared by all nodes in the cluster. When a timer is created it will be inserted into the database. Periodically at a configured interval nodes will refresh their list of active timers from the database.

      When a timer expires a node will attempt to grab ownership of the timer in the database by updating the row. Due to the use of either optimisitic locking or traditional DB locks only 1 node will be successful, and that node will run the task.

      We will also support write only nodes, nodes that can create timer tasks, but do not attempt to run them, to allow timer tasks to be run by a subset of the nodes.

      So that you don't have hundreds of existing partition name feature will allow clustered timers to be grouped into smaller partitions, so you can limit the number of nodes that are contending for a timer.

        Gliffy Diagrams


            Issue Links



                • Assignee:
                  swd847 Stuart Douglas
                  swd847 Stuart Douglas
                • Votes:
                  9 Vote for this issue
                  11 Start watching this issue


                  • Created: