Allow Archiver to start polling only after work is produced.


The Archiver implementation that was introduced in / uses a thread that polls quite aggressively. In some circumstances, this adds considerable load to the JVM. This can be problematic when many Archivers are instantiated (eg: when many MUC Services exist). In a scenario where work is never produced (eg: logging is disabled), this is wasteful, and can decrement significantly from system performance.

An Archiver acts as a consumer (in context of the producer-consumer design pattern). When the producer has not yet produced any work, there's no need for the Archiver to start polling for data.

An improvement should be made that allows Archivers to be started in a mode where polling of the work-queue is delayed until after the first bit of work has been produced.




Guus der Kinderen


Guus der Kinderen