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 » WebSphere Message Broker (ACE) Support » wmqi get failing with truncated message

Post new topic  Reply to topic
 wmqi get failing with truncated message « View previous topic :: View next topic » 
Author Message
kwelch
PostPosted: Fri Nov 08, 2002 10:01 am    Post subject: wmqi get failing with truncated message Reply with quote

Master

Joined: 16 May 2001
Posts: 255

Hi,

We have been doing some performance testing on our WMQI messageflows at our company and in some of our tests have discovered that occaisionally a GET will fail with truncated message. Once it fails it attempts a second GET and is successful. The number it seems to start out with for the Buffer length is 3732. First question does anyone know how this number is derived? We noticed then that if a 5000 byte message comes in, we get the warning truncated message, then it sets the buffer length to 5000 and works. Then if a bigger message comes in, it gets the truncated message warning and ups the buffer length. It seems to use the largest message it has gotten to date and stays with that. All this happens behind the scenes and is transparent to us.....except for this is an application where miliseconds count and sometimes the retry on the get has taken up to 2 seconds, causing a timeout on the reply. Can someone explain how this is set, what causes it to be reset back to 3732(we tried stopping and starting the flow that didn't cause it) and if there is a way we can set it?

Thanks in advance for any explanation. We are seeing this trough a monitoring tool called Transaction Vision.

Karen
Back to top
View user's profile Send private message Send e-mail
kirani
PostPosted: Fri Nov 08, 2002 10:58 pm    Post subject: Reply with quote

Jedi Knight

Joined: 05 Sep 2001
Posts: 3779
Location: Torrance, CA, USA

Hi karen,

This is a strange problem!! we've worked with large message (as big as 10-15 MB) in MQSI, but I never had this problem. What is your max msg size on the input queue?

From Where did you get 3732 number?! Is this error logged into Event viewer? I don't think there is any option in MQInput node where you can specify input buffer length. Could you please explain more about this error?
_________________
Kiran


IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries

Back to top
View user's profile Send private message Visit poster's website
PeterPotkay
PostPosted: Mon Nov 11, 2002 5:43 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7716

Kirani,
We are piloting a new product called Transaction Vision, which captures all MQ API calls on the platforms it is installed on. This product is actually very interesting to use. One can see how various MQ applications are actually coded and what they do behind the scenes.

What we have seen watching MQSI is that when a new Flow is turned on, the buffer it initially specifies for the MQGET is 3732. The MQGMO Options MQSI is using are:
MQGMO_WAIT|MQGMO_SYNCPOINT|MQGMO_FAIL_IF_QUIESCING|MQGMO_LOGICAL_ORDER|MQGMO_COMPLETE_MSG

It uses this buffer size until it gets a message bigger than 3732, at which point the MQGET fails with a 2080. MQSi then redoes the MQGET with a buffer upped to the size of the message it just tried to MQGET. If that message was 5040 bytes for instance, this flow is now using 5040 bytes for all subsequent GETs, until something bigger than 5040 comes in.

The problem is, the time between the first MQGET on the to big message which fails to the time the second MQGET with the larger buffer is sometimes up to 1.5 seconds. This kills our front end app, which has a 2000 millisecond wait time.

Granted, this is not a big problem, because MQSI keeps the larger buffer, so the longer this flow runs, the less often we have the 2080 errors.

But where did it get that 3732 size in the first place? And when does the buffer get dropped back to this #? When the broker is stopped maybe? We have noticed that this 3732 # is used for all flows in all execution groups.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
maxis
PostPosted: Mon Nov 11, 2002 6:41 am    Post subject: Reply with quote

Centurion

Joined: 25 Jun 2002
Posts: 144

PeterPotkay wrote:

We are piloting a new product called Transaction Vision, which captures all MQ API calls on the platforms it is installed on. This product is actually very interesting to use. One can see how various MQ applications are actually coded and what they do behind the scenes.



hey peter .. product u mentioned seems to be very interesting. Can u provide web-site address where in can have peek at it ?


M
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Mon Nov 11, 2002 6:47 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7716

http://www.bristol.com/transactionvision/
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
kwelch
PostPosted: Mon Nov 11, 2002 6:57 am    Post subject: Reply with quote

Master

Joined: 16 May 2001
Posts: 255

Hi Kirani,

No error is logged anywhere. Everything works ok as WMQI recovers by then resetting the bufferlength and doing the GET again. It's just that some messages seem to come back slower than our expected wait time. When we started looking into performance issues and using this tool Transaction Vision, we saw this was happening. I was just wondering how WMQI came up with the 3732 number and if there was a way that we could override it to something closer to our true buffer size to avoid the periodic timeouts we receive.

Karen
Back to top
View user's profile Send private message Send e-mail
vmcgloin
PostPosted: Mon Nov 11, 2002 7:31 am    Post subject: Reply with quote

Knight

Joined: 04 Apr 2002
Posts: 560
Location: Scotland

Karen,

You might already have this information but the WMQI readme has a section that mentions this in passing...
http://www-3.ibm.com/software/ts/mqseries/support/readme/all21_read.html
Quote:
30. MQInput node limitation: Data Conversion and expanding messages
c. The size of message involved and the size of the current internal buffer. If the message is less than 512 bytes in size, this problem should not occur. This is because the starting default buffer size that MQSeries Integrator uses for an MQInput node is 1K. For bigger messages the problem will only occur if the size of the converted message is greater than the size of the current buffer held by WMQI. This buffer generally increases as larger and larger messages are processed. However it can decrease if a series of smaller messages are encountered - hence an identical message to one that previously left the MQInput node down the OUT terminal may on another occasion go down the FAILURE terminal. (defect 22918)


Maybe there is some kind of internal message, e.g. on broker startup, using the deployed message flow that has a length of 3732?

But, it sounds like the buffer size can go down as well as up...

Regards,
Vicky
Back to top
View user's profile Send private message
kwelch
PostPosted: Mon Nov 11, 2002 7:57 am    Post subject: Reply with quote

Master

Joined: 16 May 2001
Posts: 255

Hi Vicky,

No I had not seen that readme. Thanks! It makes it sound as though you must choose the convert option on the MQInput Node, which we do not. My understanding though is that WMQI will automatically convert to Unicode for processing your messageflow and back to the original on the way out, so I would guess that this would still apply to our situation even though we are not selecting the convert option.
I am not disagreeing that the buffer could decrease but we have not seen this happen yet. Our reply messages are only a few hundred bytes and they seem to consistently be at the 3732 buffer size.

Karen
Back to top
View user's profile Send private message Send e-mail
PeterPotkay
PostPosted: Sun Nov 24, 2002 5:00 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7716

We are contacting IBM to see if there is a way to disable this "feature". I will let you know of the results.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
kirani
PostPosted: Sun Nov 24, 2002 7:47 pm    Post subject: Reply with quote

Jedi Knight

Joined: 05 Sep 2001
Posts: 3779
Location: Torrance, CA, USA

Peter & Karen,

Currently MQGET plug-in node does something similar, it first allocates 4097 bytes of memory before making MQGET call, if it fails to get the message from queue because of smaller buffer size (by checking the reason code MQRC_TRUNCATED_MSG_FAILED), it then reallocates the memory with new length, which is returned by the failed MQGet call.

One has to come up with some number to allocate the memory for MQGET call first, so I guess they came up with 3272 number! It would be a great idea to make this number configurable. This might become a problem if you are working with small messages (100 bytes).

Thanks for sharing this info with us.
_________________
Kiran


IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries

Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » wmqi get failing with truncated message
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.