Affects Version/s: 1.0.13
Fix Version/s: 1.1.1
Linux mobile-pc 3.10.17 #2 SMP Wed Oct 23 16:34:38 CDT 2013 x86_64 Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz GenuineIntel GNU/Linux
java version "1.7.0_45"
On my machine I noticed that when sending multiple logging events to a SocketAppender, only the first event gets serialized and sent over the wire to a ServerSocketReceiver.
Debuging the code, I found out that for sending loggingEvents the SocketAppender uses either a SynchronousQueue or an ArrayBlockingQueue in order to make producer-consumer and send serialized events to the socket. That BlockingQueue does behave erratically on my machine.
To demonstrate that I included a small java test that will send 3 events to a SynchronousQueue and to an ArrayBlockingQueue and the output is this:
This shows that the SynchronousQueue only process the first event and ArrayBlockingQueue does not work at all.
Another test iteration:
This time the SynchronousQueue only processes the first event and the ArrayBlockingQueue processes the first 2 events.