ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General IBM MQ Support » MQHttp Bridge (MA0Y) under load throws exception

Post new topic  Reply to topic
 MQHttp Bridge (MA0Y) under load throws exception « View previous topic :: View next topic » 
Author Message
StefanSievert
PostPosted: Fri Jun 06, 2008 8:18 am    Post subject: MQHttp Bridge (MA0Y) under load throws exception Reply with quote

Partisan

Joined: 28 Oct 2001
Posts: 333
Location: San Francisco

All,
this is to probe if anybody here has (good) experiences with the MQ HTTP Bridge under load from multiple threads.

I have it deployed in a WAS 6.1 AppServer with the WebSphere MQ V6 JMS provider classes and it works fine as long as I send requests from a single thread.
As soon as I use more than one thread to generate load, IllegalStateExceptions are being thrown for some, but not all requests.
The exception states that the session was closed, which indicates that there seems to be some unwanted session sharing going on.

Before I provide more details: Does this sound familiar to any of you?

Your helping thoughts are much appreciated!
Have a great weekend!
Stefan
_________________
Stefan Sievert
IBM Certified * WebSphere MQ
Back to top
View user's profile Send private message
matthew1001
PostPosted: Mon Jun 09, 2008 1:47 am    Post subject: Reply with quote

Novice

Joined: 09 Jun 2008
Posts: 19
Location: IBM Hursley Labs, Winchester, UK

Hi Stefan,

I run the development of the WMQ Bridge for HTTP SupportPac (MA0Y) and we do maintain our own session pool for connections to MQ. If a session times out or becomes invalid while in the pool, the next attempt to use it causes an IllegalStateException.

This exception is caught within the session pool for the Bridge, so if you are seeing the exception in the WAS logs I assume it is being logged by the MQ JMS classes.

Are you using the MLP (Message Listener Port) in WAS 6.1, or have you deployed the MQ 6 JCA Resource Adapter? The MLP is the recommended way to connect WAS 6.x to MQ, so I would suggest using this.

If you have any server logs I can look at I'd be interested to see them.

Cheers,

Matt Whitehead
WMQ Bridge for HTTP
Back to top
View user's profile Send private message Send e-mail
StefanSievert
PostPosted: Mon Jun 09, 2008 1:31 pm    Post subject: Reply with quote

Partisan

Joined: 28 Oct 2001
Posts: 333
Location: San Francisco

matthew1001 wrote:
Hi Stefan,

I run the development of the WMQ Bridge for HTTP SupportPac (MA0Y) and we do maintain our own session pool for connections to MQ. If a session times out or becomes invalid while in the pool, the next attempt to use it causes an IllegalStateException.

This exception is caught within the session pool for the Bridge, so if you are seeing the exception in the WAS logs I assume it is being logged by the MQ JMS classes.

Well, it looks like it is thrown by the EJS JMS classes, i.e. doesn't even reach the MQ JMS code:

Code:

Stack Dump = javax.jms.IllegalStateException: Session closed
        at com.ibm.ejs.jms.JMSSessionHandle.getOpenSession(JMSSessionHandle.java:1226)
        at com.ibm.ejs.jms.JMSSessionHandle.getOpenUnifiedSession(JMSSessionHandle.java:1263)
        at com.ibm.ejs.jms.JMSMessageProducerHandle.<init>(JMSMessageProducerHandle.java:129)
        at com.ibm.ejs.jms.JMSSessionHandle.createProducer(JMSSessionHandle.java:1777)
        at com.ibm.mq.http.BaseConnectionManager.getMessageProducer(Unknown Source)


Also, I should note that seeing this exception goes hand-in-hand with the message not making it to the queue and an MQHTTP50001 being returned to my test client.

Quote:

Are you using the MLP (Message Listener Port) in WAS 6.1, or have you deployed the MQ 6 JCA Resource Adapter? The MLP is the recommended way to connect WAS 6.x to MQ, so I would suggest using this.

If you have any server logs I can look at I'd be interested to see them.

Cheers,

Matt Whitehead
WMQ Bridge for HTTP


I have responded to your email address with a lot more detail.
THANK YOU for looking into that and helping me understand what may be happening.

Cheers,
Stefan
_________________
Stefan Sievert
IBM Certified * WebSphere MQ
Back to top
View user's profile Send private message
StefanSievert
PostPosted: Mon Jun 09, 2008 1:32 pm    Post subject: Reply with quote

Partisan

Joined: 28 Oct 2001
Posts: 333
Location: San Francisco

matthew1001 wrote:
Hi Stefan,

I run the development of the WMQ Bridge for HTTP SupportPac (MA0Y) and we do maintain our own session pool for connections to MQ. If a session times out or becomes invalid while in the pool, the next attempt to use it causes an IllegalStateException.

This exception is caught within the session pool for the Bridge, so if you are seeing the exception in the WAS logs I assume it is being logged by the MQ JMS classes.

Well, it looks like it is thrown by the EJS JMS classes, i.e. doesn't even reach the MQ JMS code:

Code:

Stack Dump = javax.jms.IllegalStateException: Session closed
        at com.ibm.ejs.jms.JMSSessionHandle.getOpenSession(JMSSessionHandle.java:1226)
        at com.ibm.ejs.jms.JMSSessionHandle.getOpenUnifiedSession(JMSSessionHandle.java:1263)
        at com.ibm.ejs.jms.JMSMessageProducerHandle.<init>(JMSMessageProducerHandle.java:129)
        at com.ibm.ejs.jms.JMSSessionHandle.createProducer(JMSSessionHandle.java:1777)
        at com.ibm.mq.http.BaseConnectionManager.getMessageProducer(Unknown Source)


These events are accompanied by a SystemErr.log stacktrace like this:
Code:

[6/9/08 17:30:58:452 EDT] 0000001b SystemErr     R java.lang.NullPointerException
[6/9/08 17:30:58:453 EDT] 0000001b SystemErr     R      at com.ibm.ejs.jms.JMSMessageProducerHandle.enlist(JMSMessageProducerHandle.java:797)
[6/9/08 17:30:58:453 EDT] 0000001b SystemErr     R      at com.ibm.ejs.jms.JMSMessageProducerHandle.send(JMSMessageProducerHandle.java:1168)
[6/9/08 17:30:58:453 EDT] 0000001b SystemErr     R      at com.ibm.mq.http.connectionmanager.WMQQueueConnectionManager.put(Unknown Source)
[6/9/08 17:30:58:453 EDT] 0000001b SystemErr     R      at com.ibm.mq.http.MQHTTPServlet.doPost(Unknown Source)
[6/9/08 17:30:58:453 EDT] 0000001b SystemErr     R      at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
[6/9/08 17:30:58:453 EDT] 0000001b SystemErr     R      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
[6/9/08 17:30:58:453 EDT] 0000001b SystemErr     R      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:989)
[6/9/08 17:30:58:453 EDT] 0000001b SystemErr     R      at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:501)
[6/9/08 17:30:58:453 EDT] 0000001b SystemErr     R      at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:464)
[6/9/08 17:30:58:453 EDT] 0000001b SystemErr     R      at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
[6/9/08 17:30:58:453 EDT] 0000001b SystemErr     R      at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
[6/9/08 17:30:58:453 EDT] 0000001b SystemErr     R      at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1455)
[6/9/08 17:30:58:453 EDT] 0000001b SystemErr     R      at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:113)
[6/9/08 17:30:58:454 EDT] 0000001b SystemErr     R      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454)
[6/9/08 17:30:58:454 EDT] 0000001b SystemErr     R      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:383)
[6/9/08 17:30:58:454 EDT] 0000001b SystemErr     R      at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
[6/9/08 17:30:58:454 EDT] 0000001b SystemErr     R      at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
[6/9/08 17:30:58:454 EDT] 0000001b SystemErr     R      at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
[6/9/08 17:30:58:454 EDT] 0000001b SystemErr     R      at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
[6/9/08 17:30:58:454 EDT] 0000001b SystemErr     R      at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
[6/9/08 17:30:58:454 EDT] 0000001b SystemErr     R      at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195)
[6/9/08 17:30:58:454 EDT] 0000001b SystemErr     R      at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743)
[6/9/08 17:30:58:454 EDT] 0000001b SystemErr     R      at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873)
[6/9/08 17:30:58:454 EDT] 0000001b SystemErr     R      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)



Also, I should note that seeing this exception goes hand-in-hand with the message not making it to the queue and an MQHTTP50001 being returned to my test client.

Quote:

Are you using the MLP (Message Listener Port) in WAS 6.1, or have you deployed the MQ 6 JCA Resource Adapter? The MLP is the recommended way to connect WAS 6.x to MQ, so I would suggest using this.

If you have any server logs I can look at I'd be interested to see them.

Cheers,

Matt Whitehead
WMQ Bridge for HTTP


I have responded to your email address with a lot more detail.
THANK YOU for looking into that and helping me understand what may be happening.

Cheers,
Stefan
_________________
Stefan Sievert
IBM Certified * WebSphere MQ
Back to top
View user's profile Send private message
is_whchong
PostPosted: Sun Sep 14, 2008 10:31 pm    Post subject: Reply with quote

Newbie

Joined: 14 Sep 2008
Posts: 1

Hi Stefan & Matthew,

Would you please advise the way to solve this problem? I've encountered the same issue under multi-thread.

Thanks & Regards,
Kent
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » MQHttp Bridge (MA0Y) under load throws exception
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.