Problem:
- Product Name: VisiBroker for Java
- Product Version: 7.0
- Product Component: ORB
- Platform/OS Version: All
The server application has been consuming a lot of threads and many of them are waiting for "vbroker.IIOP.Connection".
"VBJ ThreadPool Worker id=1010 se=iiop_tp scm=iiop_tp" daemon prio=10 tid=0x00000001015008f0 nid=0xff4 waiting for monitor entry [0xfffffffed0a3e000..0xfffffffed0a3f8a8] at com.inprise.vbroker.GIOP.OutputStream.writeUnfragmented(Unknown Source) - waiting to lock (a com.inprise.vbroker.IIOP.Connection) at com.inprise.vbroker.GIOP.OutputStream.writeFragmented(Unknown Source) at com.inprise.vbroker.GIOP.Message.write(Unknown Source) at com.inprise.vbroker.GIOP.GiopConnection.send_message(Unknown Source) at com.inprise.vbroker.GIOP.GiopConnection.send_message(Unknown Source) at com.inprise.vbroker.GIOP.GiopProtocolAdapter.doRequest(Unknown Source) at com.inprise.vbroker.IIOP.ServerProtocolAdapter.doRequest(Unknown Source) at com.inprise.vbroker.GIOP.GiopProtocolAdapter.dispatchMessage(Unknown Source) at com.inprise.vbroker.orb.TPDispatcherImpl$TPDispatcher.run(Unknown Source) at com.inprise.vbroker.orb.ThreadPool$PoolWorker.run(Unknown Source)
It showed that the iiop_tp threads are blocking in com.inprise.vbroker.IIOP.Connection. In extreme cases, the server application may hang and stop responding to request from all the clients.
Resolution:
It occurs when the client is not responsive. In this case, all the threads in the server are waiting to lock the connection to send the reply to the client.
The issue CR9844 has been fixed and is available in the Service Pack 5 (SP5). A new QoS property vbroker.orb.serverSendTimeout is introduced at the server side ORB to terminate the connection when the reply is not read by the client within the specified timeout period.
#VisiBroker
#Security