[
https://issues.apache.org/jira/browse/DIRMINA-329?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
janardhanan vembunarayanan updated DIRMINA-329:
-----------------------------------------------
Description:
I am using MINA in my project for developing a routing server. The server
accepts TCP + SSL connection from 1 client. The data sent by the client will be
parsed by the server and does the following
1. The Acceptor handler receives the message from the client and sends the data
to a webserivice using a Socket connector
2. The response from the web service will be received by the ConnectHandler
which will send the response to the client that is connected to server
3. If the data sent by the client has some errors then the Acceptor handler
sends an error response to the client.
Client <------------------> MINA Server <-----------------------> Web Service
aysnchronous synchronous
(1 connection) (for each command
there will be one connection)
When the 2 different handlers tries to write to the client they dead lock with
each other. The dead lock message is given below.
Is there a fix for this available already?
Name: MOPClientAcceptor
State: BLOCKED on [EMAIL PROTECTED] owned by: ServiceConnector:pp_mops at
Total blocked: 20 Total waited: 12
Stack trace:
org.apache.mina.filter.codec.support.SimpleProtocolEncoderOutput.write(SimpleProtocolEncoderOutput.java:32)
com.test.trinity.servicegateway.codec.mop.MOPResponseEncoder.writeData(MOPResponseEncoder.java:109)
com.test.trinity.servicegateway.codec.mop.MOPResponseEncoder.encode(MOPResponseEncoder.java:89)
org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:226)
org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:799)
org.apache.mina.common.IoFilterAdapter.filterWrite(IoFilterAdapter.java:92)
org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:799)
org.apache.mina.common.support.AbstractIoFilterChain$2.filterWrite(AbstractIoFilterChain.java:212)
org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
org.apache.mina.common.support.AbstractIoFilterChain.filterWrite(AbstractIoFilterChain.java:574)
org.apache.mina.transport.socket.nio.SocketSessionImpl.write0(SocketSessionImpl.java:176)
org.apache.mina.common.support.BaseIoSession.write(BaseIoSession.java:136)
com.test.trinity.servicegateway.router.mop.MOPClientRequestHandler.replyErrorToClient(MOPClientRequestHandler.java:373)
com.test.trinity.servicegateway.router.mop.MOPClientRequestHandler.messageReceived(MOPClientRequestHandler.java:106)
org.apache.mina.common.support.AbstractIoFilterChain$2.messageReceived(AbstractIoFilterChain.java:188)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
com.test.trinity.servicegateway.router.mop.MOPHeartBeatFilter.messageReceived(MOPHeartBeatFilter.java:30)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:187)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
com.test.trinity.servicegateway.router.mop.MOPStateManagerFilter.messageReceived(MOPStateManagerFilter.java:54)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
org.apache.mina.filter.SSLFilter.handleAppDataRead(SSLFilter.java:623)
org.apache.mina.filter.SSLFilter.handleSSLData(SSLFilter.java:601)
org.apache.mina.filter.SSLFilter.messageReceived(SSLFilter.java:392)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
com.test.trinity.servicegateway.common.ReadThrottleFilter$Release.messageReceived(ReadThrottleFilter.java:186)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
org.apache.mina.filter.ThreadPoolFilter.processEvent(ThreadPoolFilter.java:718)
org.apache.mina.filter.ThreadPoolFilter$Worker.processEvents(ThreadPoolFilter.java:474)
org.apache.mina.filter.ThreadPoolFilter$Worker.run(ThreadPoolFilter.java:429)
Name: ServiceConnector:pp_mops
State: BLOCKED on [EMAIL PROTECTED] owned by: MOPClientAcceptord-sjc-
Total blocked: 6 Total waited: 9
Stack trace:
org.apache.mina.filter.SSLFilter.filterWrite(SSLFilter.java:452)
org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:799)
org.apache.mina.common.IoFilterAdapter.filterWrite(IoFilterAdapter.java:92)
org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:799)
org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolEncoderOutputImpl.doFlush(ProtocolCodecFilter.java:377)
org.apache.mina.filter.codec.support.SimpleProtocolEncoderOutput.flush(SimpleProtocolEncoderOutput.java:94)
org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:251)
org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:799)
org.apache.mina.common.IoFilterAdapter.filterWrite(IoFilterAdapter.java:92)
org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:799)
org.apache.mina.common.support.AbstractIoFilterChain$2.filterWrite(AbstractIoFilterChain.java:212)
org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
org.apache.mina.common.support.AbstractIoFilterChain.filterWrite(AbstractIoFilterChain.java:574)
org.apache.mina.transport.socket.nio.SocketSessionImpl.write0(SocketSessionImpl.java:176)
org.apache.mina.common.support.BaseIoSession.write(BaseIoSession.java:136)
com.test.trinity.servicegateway.service.ServiceHandler.messageReceived(ServiceHandler.java:172)
org.apache.mina.common.support.AbstractIoFilterChain$2.messageReceived(AbstractIoFilterChain.java:188)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
com.test.trinity.servicegateway.service.RemoveServiceSessionHook.messageReceived(RemoveServiceSessionHook.java:25)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
com.test.trinity.servicegateway.service.ServiceCounterMonitorFilter.messageReceived(ServiceCounterMonitorFilter.java:156)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:187)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
org.apache.mina.filter.ThreadPoolFilter.processEvent(ThreadPoolFilter.java:718)
org.apache.mina.filter.ThreadPoolFilter$Worker.processEvents(ThreadPoolFilter.java:474)
org.apache.mina.filter.ThreadPoolFilter$Worker.run(ThreadPoolFilter.java:429)
was:
I am using MINA in my project for developing a routing server. The server
accepts TCP + SSL connection from 1 client. The data sent by the client will be
parsed by the server and does the following
1. The Acceptor handler receives the message from the client and sends the data
to a webserivice using a Socket connector
2. The response from the web service will be received by the ConnectHandler
which will send the response to the client that is connected to SGW
3. If the data sent by the client has some errors then the Acceptor handler
sends an error response to the client.
Client <------------------> MINA Server <-----------------------> Web Service
aysnchronous synchronous
(1 connection) (for each command
there will be one connection)
When the 2 different handlers tries to write to the client they dead lock with
each other. The dead lock message is given below.
Is there a fix for this available already?
Name: MOPClientAcceptord-sjc-jvembunar.corp.ebay.com/10.254.34.93-2
State: BLOCKED on [EMAIL PROTECTED] owned by: ServiceConnector:pp_mops at
D-SJC-JVEMBUNAR/10.254.34.93:7000-3
Total blocked: 20 Total waited: 12
Stack trace:
org.apache.mina.filter.codec.support.SimpleProtocolEncoderOutput.write(SimpleProtocolEncoderOutput.java:32)
com.ebay.trinity.servicegateway.codec.mop.MOPResponseEncoder.writeData(MOPResponseEncoder.java:109)
com.ebay.trinity.servicegateway.codec.mop.MOPResponseEncoder.encode(MOPResponseEncoder.java:89)
org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:226)
org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:799)
org.apache.mina.common.IoFilterAdapter.filterWrite(IoFilterAdapter.java:92)
org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:799)
org.apache.mina.common.support.AbstractIoFilterChain$2.filterWrite(AbstractIoFilterChain.java:212)
org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
org.apache.mina.common.support.AbstractIoFilterChain.filterWrite(AbstractIoFilterChain.java:574)
org.apache.mina.transport.socket.nio.SocketSessionImpl.write0(SocketSessionImpl.java:176)
org.apache.mina.common.support.BaseIoSession.write(BaseIoSession.java:136)
com.ebay.trinity.servicegateway.router.mop.MOPClientRequestHandler.replyErrorToClient(MOPClientRequestHandler.java:373)
com.ebay.trinity.servicegateway.router.mop.MOPClientRequestHandler.messageReceived(MOPClientRequestHandler.java:106)
org.apache.mina.common.support.AbstractIoFilterChain$2.messageReceived(AbstractIoFilterChain.java:188)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
com.ebay.trinity.servicegateway.router.mop.MOPHeartBeatFilter.messageReceived(MOPHeartBeatFilter.java:30)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:187)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
com.ebay.trinity.servicegateway.router.mop.MOPStateManagerFilter.messageReceived(MOPStateManagerFilter.java:54)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
org.apache.mina.filter.SSLFilter.handleAppDataRead(SSLFilter.java:623)
org.apache.mina.filter.SSLFilter.handleSSLData(SSLFilter.java:601)
org.apache.mina.filter.SSLFilter.messageReceived(SSLFilter.java:392)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
com.ebay.trinity.servicegateway.common.ReadThrottleFilter$Release.messageReceived(ReadThrottleFilter.java:186)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
org.apache.mina.filter.ThreadPoolFilter.processEvent(ThreadPoolFilter.java:718)
org.apache.mina.filter.ThreadPoolFilter$Worker.processEvents(ThreadPoolFilter.java:474)
org.apache.mina.filter.ThreadPoolFilter$Worker.run(ThreadPoolFilter.java:429)
Name: ServiceConnector:pp_mops at D-SJC-JVEMBUNAR/10.254.34.93:7000-3
State: BLOCKED on [EMAIL PROTECTED] owned by:
MOPClientAcceptord-sjc-jvembunar.corp.ebay.com/10.254.34.93-2
Total blocked: 6 Total waited: 9
Stack trace:
org.apache.mina.filter.SSLFilter.filterWrite(SSLFilter.java:452)
org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:799)
org.apache.mina.common.IoFilterAdapter.filterWrite(IoFilterAdapter.java:92)
org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:799)
org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolEncoderOutputImpl.doFlush(ProtocolCodecFilter.java:377)
org.apache.mina.filter.codec.support.SimpleProtocolEncoderOutput.flush(SimpleProtocolEncoderOutput.java:94)
org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:251)
org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:799)
org.apache.mina.common.IoFilterAdapter.filterWrite(IoFilterAdapter.java:92)
org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:799)
org.apache.mina.common.support.AbstractIoFilterChain$2.filterWrite(AbstractIoFilterChain.java:212)
org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
org.apache.mina.common.support.AbstractIoFilterChain.filterWrite(AbstractIoFilterChain.java:574)
org.apache.mina.transport.socket.nio.SocketSessionImpl.write0(SocketSessionImpl.java:176)
org.apache.mina.common.support.BaseIoSession.write(BaseIoSession.java:136)
com.ebay.trinity.servicegateway.service.ServiceHandler.messageReceived(ServiceHandler.java:172)
org.apache.mina.common.support.AbstractIoFilterChain$2.messageReceived(AbstractIoFilterChain.java:188)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
com.ebay.trinity.servicegateway.service.RemoveServiceSessionHook.messageReceived(RemoveServiceSessionHook.java:25)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
com.ebay.trinity.servicegateway.service.ServiceCounterMonitorFilter.messageReceived(ServiceCounterMonitorFilter.java:156)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:187)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
org.apache.mina.filter.ThreadPoolFilter.processEvent(ThreadPoolFilter.java:718)
org.apache.mina.filter.ThreadPoolFilter$Worker.processEvents(ThreadPoolFilter.java:474)
org.apache.mina.filter.ThreadPoolFilter$Worker.run(ThreadPoolFilter.java:429)
removed unwanted information
> ProtocolEncoderOutputImpl and SSLHandler deadlocks
> --------------------------------------------------
>
> Key: DIRMINA-329
> URL: https://issues.apache.org/jira/browse/DIRMINA-329
> Project: MINA
> Issue Type: Bug
> Affects Versions: 0.9.4
> Environment: Windows 2000, Java 5.0 and Eclipse IDE
> Reporter: janardhanan vembunarayanan
> Priority: Blocker
>
> I am using MINA in my project for developing a routing server. The server
> accepts TCP + SSL connection from 1 client. The data sent by the client will
> be parsed by the server and does the following
> 1. The Acceptor handler receives the message from the client and sends the
> data to a webserivice using a Socket connector
> 2. The response from the web service will be received by the ConnectHandler
> which will send the response to the client that is connected to server
> 3. If the data sent by the client has some errors then the Acceptor handler
> sends an error response to the client.
> Client <------------------> MINA Server <-----------------------> Web
> Service
> aysnchronous synchronous
> (1 connection) (for each command
> there will be one connection)
> When the 2 different handlers tries to write to the client they dead lock
> with each other. The dead lock message is given below.
> Is there a fix for this available already?
> Name: MOPClientAcceptor
> State: BLOCKED on [EMAIL PROTECTED] owned by: ServiceConnector:pp_mops at
> Total blocked: 20 Total waited: 12
> Stack trace:
> org.apache.mina.filter.codec.support.SimpleProtocolEncoderOutput.write(SimpleProtocolEncoderOutput.java:32)
> com.test.trinity.servicegateway.codec.mop.MOPResponseEncoder.writeData(MOPResponseEncoder.java:109)
> com.test.trinity.servicegateway.codec.mop.MOPResponseEncoder.encode(MOPResponseEncoder.java:89)
> org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:226)
> org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:51)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:799)
> org.apache.mina.common.IoFilterAdapter.filterWrite(IoFilterAdapter.java:92)
> org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:51)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:799)
> org.apache.mina.common.support.AbstractIoFilterChain$2.filterWrite(AbstractIoFilterChain.java:212)
> org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
> org.apache.mina.common.support.AbstractIoFilterChain.filterWrite(AbstractIoFilterChain.java:574)
> org.apache.mina.transport.socket.nio.SocketSessionImpl.write0(SocketSessionImpl.java:176)
> org.apache.mina.common.support.BaseIoSession.write(BaseIoSession.java:136)
> com.test.trinity.servicegateway.router.mop.MOPClientRequestHandler.replyErrorToClient(MOPClientRequestHandler.java:373)
> com.test.trinity.servicegateway.router.mop.MOPClientRequestHandler.messageReceived(MOPClientRequestHandler.java:106)
> org.apache.mina.common.support.AbstractIoFilterChain$2.messageReceived(AbstractIoFilterChain.java:188)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
> com.test.trinity.servicegateway.router.mop.MOPHeartBeatFilter.messageReceived(MOPHeartBeatFilter.java:30)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:187)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
> com.test.trinity.servicegateway.router.mop.MOPStateManagerFilter.messageReceived(MOPStateManagerFilter.java:54)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
> org.apache.mina.filter.SSLFilter.handleAppDataRead(SSLFilter.java:623)
> org.apache.mina.filter.SSLFilter.handleSSLData(SSLFilter.java:601)
> org.apache.mina.filter.SSLFilter.messageReceived(SSLFilter.java:392)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
> com.test.trinity.servicegateway.common.ReadThrottleFilter$Release.messageReceived(ReadThrottleFilter.java:186)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
> org.apache.mina.filter.ThreadPoolFilter.processEvent(ThreadPoolFilter.java:718)
> org.apache.mina.filter.ThreadPoolFilter$Worker.processEvents(ThreadPoolFilter.java:474)
> org.apache.mina.filter.ThreadPoolFilter$Worker.run(ThreadPoolFilter.java:429)
> Name: ServiceConnector:pp_mops
> State: BLOCKED on [EMAIL PROTECTED] owned by: MOPClientAcceptord-sjc-
> Total blocked: 6 Total waited: 9
> Stack trace:
> org.apache.mina.filter.SSLFilter.filterWrite(SSLFilter.java:452)
> org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:51)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:799)
> org.apache.mina.common.IoFilterAdapter.filterWrite(IoFilterAdapter.java:92)
> org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:51)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:799)
> org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolEncoderOutputImpl.doFlush(ProtocolCodecFilter.java:377)
> org.apache.mina.filter.codec.support.SimpleProtocolEncoderOutput.flush(SimpleProtocolEncoderOutput.java:94)
> org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:251)
> org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:51)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:799)
> org.apache.mina.common.IoFilterAdapter.filterWrite(IoFilterAdapter.java:92)
> org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:51)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:799)
> org.apache.mina.common.support.AbstractIoFilterChain$2.filterWrite(AbstractIoFilterChain.java:212)
> org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:583)
> org.apache.mina.common.support.AbstractIoFilterChain.filterWrite(AbstractIoFilterChain.java:574)
> org.apache.mina.transport.socket.nio.SocketSessionImpl.write0(SocketSessionImpl.java:176)
> org.apache.mina.common.support.BaseIoSession.write(BaseIoSession.java:136)
> com.test.trinity.servicegateway.service.ServiceHandler.messageReceived(ServiceHandler.java:172)
> org.apache.mina.common.support.AbstractIoFilterChain$2.messageReceived(AbstractIoFilterChain.java:188)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
> com.test.trinity.servicegateway.service.RemoveServiceSessionHook.messageReceived(RemoveServiceSessionHook.java:25)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
> com.test.trinity.servicegateway.service.ServiceCounterMonitorFilter.messageReceived(ServiceCounterMonitorFilter.java:156)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:187)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:51)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
> org.apache.mina.filter.ThreadPoolFilter.processEvent(ThreadPoolFilter.java:718)
> org.apache.mina.filter.ThreadPoolFilter$Worker.processEvents(ThreadPoolFilter.java:474)
> org.apache.mina.filter.ThreadPoolFilter$Worker.run(ThreadPoolFilter.java:429)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira