[rabbitmq-discuss] persistence

Lars Bachmann lars.bachmann at s2002.tu-chemnitz.de
Wed May 21 10:52:12 BST 2008


Mathias,

after some days of vacation Im going on with rabbitmq. As i wrote last  
time the reason why the messages were not sent was because of an  
already closed channel.
But still Im not happy with all behaviour and having different issues.
I delayed the time before closing a channel up to 50 seconds. In this  
case i was able to send about 150000 messages correctly. If I try to  
send more messages I also have to increase the delay time. But if the  
communication between producer and broker takes too long i get an  
"java.net.SocketException". Here the stacktrace:

hit IOException in Producer: trace follows
java.net.SocketException: Connection reset
         at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:96)
         at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
         at  
java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
         at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
         at java.io.DataOutputStream.flush(DataOutputStream.java:106)
         at  
com.rabbitmq.client.impl.SocketFrameHandler.writeFrame(SocketFrameHandler.java:156)
         at  
com.rabbitmq.client.impl.AMQConnection.writeFrame(AMQConnection.java:297)
         at com.rabbitmq.client.impl.AMQCommand.transmit(AMQCommand.java:190)
         at com.rabbitmq.client.impl.ChannelN.basicPublish(ChannelN.java:369)
         at com.rabbitmq.client.impl.ChannelN.basicPublish(ChannelN.java:350)
         at  
com.rabbitmq.test.ConcurrentRabbitMQProducerTest.runIt(ConcurrentRabbitMQProducerTest.java:100)
         at  
com.rabbitmq.test.ConcurrentRabbitMQProducerTest.run(ConcurrentRabbitMQProducerTest.java:71)
         at java.lang.Thread.run(Thread.java:619)
Exception in thread "Thread-1" java.lang.RuntimeException:  
java.net.SocketException: Connection reset
         at  
com.rabbitmq.test.ConcurrentRabbitMQProducerTest.run(ConcurrentRabbitMQProducerTest.java:75)
         at java.lang.Thread.run(Thread.java:619)
Caused by: java.net.SocketException: Connection reset
         at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:96)
         at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
         at  
java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
         at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
         at java.io.DataOutputStream.flush(DataOutputStream.java:106)
         at  
com.rabbitmq.client.impl.SocketFrameHandler.writeFrame(SocketFrameHandler.java:156)
         at  
com.rabbitmq.client.impl.AMQConnection.writeFrame(AMQConnection.java:297)
         at com.rabbitmq.client.impl.AMQCommand.transmit(AMQCommand.java:190)
         at com.rabbitmq.client.impl.ChannelN.basicPublish(ChannelN.java:369)
         at com.rabbitmq.client.impl.ChannelN.basicPublish(ChannelN.java:350)
         at  
com.rabbitmq.test.ConcurrentRabbitMQProducerTest.runIt(ConcurrentRabbitMQProducerTest.java:100)
         at  
com.rabbitmq.test.ConcurrentRabbitMQProducerTest.run(ConcurrentRabbitMQProducerTest.java:71)

After this exception also the broker dont respond anymore. The process  
is still running but i cant connect with an erlang shell to the  
broker. Very strange behaviour. All I can do in this situation is to  
restart the broker ...

My System: Im running rabbitmq 1.3. on a gentoo linux. In the log file  
is nothing unusal. (How can I actually switch the log level to "debug"  
?)

Lars


> Lars,
>
> Matthias Radestock wrote:
>> Lars Bachmann wrote:
>>> by now i tried only 1) and it definitly has some affect. I was   
>>> able to send 70000, 100000 and 150000 messages and all were   
>>> received by the broker. When i wanted to send 200000 i got a   
>>> socketconnection exception.
>>
>> Thanks for running this experiment. These results give me something  
>>  to go on.
>
> I think I've found the problem, though if my analysis is correct I
> would have expected an error in the server logs. Are you sure there is
> nothing unusual in there? Perhaps you could send me the log output
> recorded by the server when running your test program (in its original
> form, i.e. without the delay in closing the channel).
>
>
> Matthias.








More information about the rabbitmq-discuss mailing list