-
Improvement
-
Resolution: Fixed
-
Major
-
None
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.