Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-53400

improving events dispatching mechanism - adding durability and smarter suspension

XMLWordPrintable

      Our plugin collects and dispatches events to Octane server.

      Up till now, at Octane down times we kept a very small amount of events up to 2 mins and discarded all of them immediately after that.

      It was found, that average CI Server (or even quite a loaded one) produces about ~2300 events in a normal working day / normal working hours (counting started/finished/scm events).

      Therefore we decided to improve our handling of Octane's disconnection situation and store up to 3000 events in memory until the connection is re-established.

      If the queue reaches 3000, we'll remove the overheads from the beginning of the queue, meaning we'll keep the latest events.

      When connection is re-established - all of the events will be gradually drained out (benchmarks TBD).

      In addition, added suspension mechanism, which en-sleeps the dispatching thread if there are no events in queue and knows to release the monitor when first new event enters the queue.

       

            gullerya Yuri Guller
            gullerya Yuri Guller
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: