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

Add clustered database based timers

    Details

    • 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:
      None

      Description

      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

          Attachments

            Issue Links

              Activity

                People

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

                  Dates

                  • Created:
                    Updated:
                    Resolved: