Hi
I am using a Diameter client peer to periodically test that all my Diameter servers are operational.
So every 2 minutes I do CER/CEA, test the diameter application and then do DPR expecting a DPA.
On receipt of the DPR the Diameter servers do not respond with a DPA. The logs are shown below. It seems that the DPR is received and the connection is closed and then the DPA cannot be sent because the connection is already closed.
My concern with this is that if the DPR is not correctly processed then the host is maintained in the peer list - and the list will grow until unmanageable.
Any ideas what the problem is? Is my concern valid?
I am using JSLEE 2.6.0.FINAL with MUX 1.4.0.CR2
Regards
Richard.
2012-03-12 12:56:15,293 DEBUG [org.jdiameter.client.impl.controller.PeerImpl] Receive message type [282] to peer [aaa://
lte-zone6.dev.za.smilecoms.com:33397]
2012-03-12 12:56:15,293 DEBUG [org.jdiameter.client.impl.fsm.PeerFSMImpl] Handling event with type [DPR_EVENT]
2012-03-12 12:56:15,293 DEBUG [org.jdiameter.client.impl.fsm.PeerFSMImpl] Not performing validation to message since validator is DISABLED.
2012-03-12 12:56:15,293 DEBUG [org.jdiameter.client.impl.fsm.PeerFSMImpl] Placing message into linked blocking queue with remaining capacity: [10000].
2012-03-12 12:56:15,293 DEBUG [org.jdiameter.client.impl.transport.tcp.TCPTransportClient] Just read [-1] bytes on [Socket[addr=/
10.0.1.96,port=33397,localport=3868]]
2012-03-12 12:56:15,293 DEBUG [org.jdiameter.client.impl.fsm.PeerFSMImpl] Process event [Event{name:DPR_EVENT, key:null, object:MessageImpl{commandCode=282, flags=128}}]. Peer State is [OKAY]
2012-03-12 12:56:15,293 DEBUG [org.jdiameter.client.impl.controller.PeerImpl] Connection from aaa://
10.0.1.96:33397 is closed
2012-03-12 12:56:15,293 DEBUG [org.jdiameter.client.impl.controller.PeerImpl] Send DPA message
2012-03-12 12:56:15,293 DEBUG [org.jdiameter.client.impl.fsm.PeerFSMImpl] Handling event with type [DISCONNECT_EVENT]
2012-03-12 12:56:15,293 DEBUG [org.jdiameter.client.impl.fsm.PeerFSMImpl] Not performing validation to message since validator is DISABLED.
2012-03-12 12:56:15,293 DEBUG [org.jdiameter.client.impl.controller.PeerImpl] Calling connection to send message [MessageImpl{commandCode=282, flags=0}] to peer [aaa://
10.0.1.96:33397] over the network
2012-03-12 12:56:15,293 DEBUG [org.jdiameter.client.impl.fsm.PeerFSMImpl] Placing message into linked blocking queue with remaining capacity: [10000].
2012-03-12 12:56:15,293 DEBUG [org.jdiameter.client.impl.transport.tcp.TCPTransportClient] About to send a byte buffer of size [88] over the TCP nio socket [Socket[addr=/
10.0.1.96,port=33397,localport=3868]]
2012-03-12 12:56:15,293 INFO [org.jdiameter.client.impl.transport.tcp.TCPTransportClient] Read thread is stopped for socket [Socket[addr=/
10.0.1.96,port=33397,localport=3868]]
2012-03-12 12:56:15,293 DEBUG [org.jdiameter.client.impl.transport.tcp.TCPTransportClient] Unable to send message
java.nio.channels.ClosedChannelException
at sun.nio.ch.SocketChannelImpl.ensureWriteOpen(SocketChannelImpl.java:249)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:440)
at org.jdiameter.client.impl.transport.tcp.TCPTransportClient.sendMessage(TCPTransportClient.java:228)
at org.jdiameter.client.impl.transport.tcp.TCPClientConnection.sendMessage(TCPClientConnection.java:171)
at org.jdiameter.client.impl.controller.PeerImpl$ActionContext.sendMessage(PeerImpl.java:702)
at org.jdiameter.client.impl.controller.PeerImpl$ActionContext.sendDpaMessage(PeerImpl.java:802)
at org.jdiameter.server.impl.fsm.PeerFSMImpl$1.processEvent(PeerFSMImpl.java:138)
at org.jdiameter.client.impl.fsm.PeerFSMImpl$3.run(PeerFSMImpl.java:161)
at java.lang.Thread.run(Thread.java:722)
2012-03-12 12:56:15,296 DEBUG [org.jdiameter.server.impl.fsm.PeerFSMImpl] Can not send DPA
org.jdiameter.client.api.io.TransportException: Cannot send message:
at org.jdiameter.client.impl.transport.tcp.TCPClientConnection.sendMessage(TCPClientConnection.java:175)
at org.jdiameter.client.impl.controller.PeerImpl$ActionContext.sendMessage(PeerImpl.java:702)
at org.jdiameter.client.impl.controller.PeerImpl$ActionContext.sendDpaMessage(PeerImpl.java:802)
at org.jdiameter.server.impl.fsm.PeerFSMImpl$1.processEvent(PeerFSMImpl.java:138)
at org.jdiameter.client.impl.fsm.PeerFSMImpl$3.run(PeerFSMImpl.java:161)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.io.IOException: Error while sending message: java.nio.channels.ClosedChannelException
at org.jdiameter.client.impl.transport.tcp.TCPTransportClient.sendMessage(TCPTransportClient.java:232)
at org.jdiameter.client.impl.transport.tcp.TCPClientConnection.sendMessage(TCPClientConnection.java:171)
... 5 more
2012-03-12 12:56:15,296 DEBUG [org.jdiameter.client.impl.transport.tcp.TCPTransportClient] Stopping transport. Socket is [Socket[addr=/
10.0.1.96,port=33397,localport=3868]]
2012-03-12 12:56:15,296 DEBUG [org.jdiameter.client.impl.transport.tcp.TCPTransportClient] Transport is stopped. Socket is [Socket[addr=/
10.0.1.96,port=33397,localport=3868]]
2012-03-12 12:56:15,296 DEBUG [org.jdiameter.client.impl.controller.PeerImpl] Disconnected from peer aaa://
10.0.1.96:33397
2012-03-12 12:56:15,296 DEBUG [org.jdiameter.client.impl.fsm.PeerFSMImpl] SPeer{Uri=aaa://
10.0.1.96:33397; State=OKAY; con=org.jdiameter.client.impl.transport.tcp.TCPClientConnection@ff137e; incCon{} } FSM switch state: OKAY -> DOWN
This email is subject to the disclaimer of Smile Communications (PTY) Ltd. at http://www.smilecoms.com/disclaimer