My jicofo is erroring out at times as the task is rejected by ThreadPoolExecutor. May I know what could be the reason for this and how can I resolve it? Is it possibly getting rejected because :
1) the Executor has been shut down, or
2) the Executor uses finite bounds for both maximum threads and work queue capacity, and is saturated.
How do I fix this in the code? Where is the thread executor being instantiated in the code?
An error log snippet is as follows:
[2015-12-21 18:57:06.678] [SEVERE] [org.jitsi.jicofo.xmpp.FocusComponent.processPacket()] (serving component 'Jitsi Meet Focus') Unable to process packet! Is the thread pool queue exhausted? Packet dropped in component 'Jitsi Meet Focus'.
java.util.concurrent.RejectedExecutionException: Task org.xmpp.component.AbstractComponent$PacketProcessor@79abaf84 rejected from java.util.concurrent.ThreadPoolExecutor@6c8ecd7a[Running, pool size = 17, active threads = 17, queued tasks = 1000, completed tasks = 462] at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2047) at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:823) at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1369) at org.xmpp.component.AbstractComponent.processPacket(AbstractComponent.java:213) at org.jivesoftware.whack.ExternalComponent$1.run(ExternalComponent.java:338) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)