Uploaded image for project: 'James Server'
  1. James Server
  2. JAMES-3934

Allow external scheduling for RabbitMQ mailQueue browse start update

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • master, 3.8.1, 3.7.5
    • None
    • None

    Description

      Background

      In an attempt to avoid synchonization the browse start update is done proabilistically.

      Configuring the underlying values is hard, and theprobability behind this are hard to grasp.

      Full design :

      Goal

      In practice many environments supports centralized schedulers (eg: kubernees), we can offload to them the periodic planning of the browse start update, thus easing the overall reasonning around the RabbitMQ MailQueue.

      How?

      Implement a webadmin endpoint to update browseStart pace. Only exposed if the CassandraMailQueue view is supported.

      Example:

      curl -XPOST /mailQueues/root?task=updateBrowseStart
      

      DOD unit test with cassandra instrumentation on top of the mailQureueView.

      Don't forget to document this endpoint...

      Port it on master, 3.8.x, 3.7.x

      Expected benefits

      Tasks allow better tracking on how long the browse start update takes. One can also look atthe execution history through task results (success/failure) while probabilistic scheduling demands careful log reviews.

      Attachments

        Activity

          People

            Unassigned Unassigned
            btellier Benoit Tellier
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 1h 40m
                1h 40m