Skip navigation
aaron.winkler
Currently Being Moderated

Thread locked in DataServicesMessaging Gateway?

May 26, 2010 10:32 AM

Hello, I'd love to hear any and all thoughts, comments, and/or suggestions.

 

We are using the DataServicesMessaging Gateway to support some chat-like functionality from a Flex Frontend.  We are using polling, not long-polling, and poll the server every 3 to 5 seconds depending on the consumer.  Our server is configured to a max of 35 Jrun Threads and 50 Event Gateway threads.  Most of our requests last less than a second, but every so often we have requests that will last anywhere from 50 to 200 seconds.  (not Milliseconds).  Looking at that stacktrace on those always shows the following:

 

Full thread dump Java HotSpot(TM) 64-Bit Server VM (10.0-b19):"jrpp-390" runnable      

at java.net.SocketInputStream.socketRead0(Native Method)      

at java.net.SocketInputStream.read(SocketInputStream.java:129)      

at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)      

at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)      

at java.io.BufferedInputStream.read(BufferedInputStream.java:317)      

at jrun.servlet.jrpp.ProxyEndpoint.readFully(ProxyEndpoint.java:581)       

at jrun.servlet.jrpp.ProxyEndpoint.readFully(ProxyEndpoint.java:573)       

at jrun.servlet.jrpp.ProxyEndpoint.readInt(ProxyEndpoint.java:591)      

at jrun.servlet.jrpp.JrppInputStream.read(JrppInputStream.java:79)      

at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)      

at java.io.BufferedInputStream.read(BufferedInputStream.java:237)      

at jrun.servlet.ServletIn.read(ServletIn.java:42)      

at java.io.FilterInputStream.read(FilterInputStream.java:66)      

at java.io.FilterInputStream.read(FilterInputStream.java:66)      

at java.io.DataInputStream.readByte(DataInputStream.java:248)      

at flex.messaging.io.amf.Amf3Input.readUInt29(Amf3Input.java:634)      

at flex.messaging.io.amf.Amf3Input.readString(Amf3Input.java:228)      

at flex.messaging.io.amf.Amf3Input.readObjectValue(Amf3Input.java:142)       

at flex.messaging.io.amf.Amf3Input.readObject(Amf3Input.java:128)      

at flex.messaging.io.amf.Amf3Input.readScriptObject(Amf3Input.java:437)       

at flex.messaging.io.amf.Amf3Input.readObjectValue(Amf3Input.java:149)       

at flex.messaging.io.amf.Amf3Input.readObject(Amf3Input.java:128)      

at flex.messaging.io.amf.Amf0Input.readObjectValue(Amf0Input.java:128)       

at flex.messaging.io.amf.Amf0Input.readArrayValue(Amf0Input.java:319)       

at flex.messaging.io.amf.Amf0Input.readObjectValue(Amf0Input.java:132)       

at flex.messaging.io.amf.Amf0Input.readObject(Amf0Input.java:88)      

at flex.messaging.io.amf.AmfMessageDeserializer.readBody(AmfMessageDeser ializer.java:206)      

at flex.messaging.io.amf.AmfMessageDeserializer.readMessage(AmfMessageDe serializer.java:130)      

at flex.messaging.endpoints.amf.SerializationFilter.invoke(Serialization Filter.java:113)      

at flex.messaging.endpoints.AMFEndpoint.service(AMFEndpoint.java:122)       

at flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java :438)      

at coldfusion.flex.ColdFusionMessageBrokerServlet.service(ColdFusionMess ageBrokerServlet.java:50)      

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)      

at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:8 9)      

at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)      

at coldfusion.filter.FlashRequestControlFilter.doFilter(FlashRequestCont rolFilter.java:71)      

at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46 )      

at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)      

at com.seefusion.Filter.doFilter(Filter.java:49)      

at com.seefusion.SeeFusion.doFilter(SeeFusion.java:1500)      

at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)      

at jrun.servlet.FilterChain.service(FilterChain.java:101)      

at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)      

at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)       

at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java: 286)      

at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java: 543)      

at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.ja va:203)      

at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.j ava:428)      

at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

 

 

it looks like I'm waiting to read a message coming in off the stream, but I am not sure why or how this happens.  I look forward to see what folks say on this one.

 

Aaron

 

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points