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

Add clustered database based timers

    XMLWordPrintable

Details

    • Feature Request
    • Resolution: Done
    • Major
    • 9.0.0.Beta1
    • None
    • EJB
    • 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.

      Attachments

        Issue Links

          Activity

            People

              sdouglas1@redhat.com Stuart Douglas
              sdouglas1@redhat.com Stuart Douglas
              Votes:
              9 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: