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 » IBM MQ Java / JMS » Err 2080 when getting msg > 4MB in Websphere

Post new topic  Reply to topic
 Err 2080 when getting msg > 4MB in Websphere « View previous topic :: View next topic » 
Author Message
losypamo
PostPosted: Thu Jan 09, 2014 2:19 am    Post subject: Err 2080 when getting msg > 4MB in Websphere Reply with quote

Newbie

Joined: 09 Jan 2014
Posts: 2

Hello,

We are developing a Java application using JMS on MQ.

We have to deal with big messages ( > 4 MB).
We have configured our Queue Manager and our Queue to manage message up to 100 MB.

When testing in an environment Tomcat + Apache geronimo JMS implementation, we are able to retrieve all messages. So it seems the MQ configuration is OK.

When testing in an environment Websphere + IBM jms implementation, we are not able to retrieve messages bigger than 4MB.
We get an error 2080 (MQRC_TRUNCATED_MSG_FAILED).

How can we increase the maximum size?

OS: AIX and Linux
Websphere: v8.0.0.3 and v8.0.0.5

Thanks in advance for your response.
Back to top
View user's profile Send private message
smdavies99
PostPosted: Thu Jan 09, 2014 2:33 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

Max message lengths are configured on each queue as well as in the QMGR.

Look at the MAXMSGL param on the queue that you are using and get it changed.
If you are connecting via a client connection (SVRCONN Channel) then that will probably need changing as well.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
zpat
PostPosted: Thu Jan 09, 2014 3:08 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5849
Location: UK

No, this means the message buffer in the application is too small.

2080 0x00000820 MQRC_TRUNCATED_MSG_FAILED

You can request MQ to deliver messages truncated to the size of your message buffer (ACCEPT TRUNCATED MESSAGE), but by default it will return MQRC 2080 if it can't store all the message data in your buffer.

Increase your buffer size.
_________________
Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error.
Back to top
View user's profile Send private message
smdavies99
PostPosted: Thu Jan 09, 2014 3:34 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

zpat,
sorry for that. I was relying on memory for the error code reason. But these are worth checking anyway. I see far to many Queue Manager with everything set to the OOTB defaults in Production including circular logging with 3 log files.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
losypamo
PostPosted: Thu Jan 09, 2014 6:07 am    Post subject: Reply with quote

Newbie

Joined: 09 Jan 2014
Posts: 2

smdavies99 was right.

We miss the change of the SVRCONN Channel.

After increasing it, we can read successfully the messages > 4MB.

Thanks a lot!
Back to top
View user's profile Send private message
zpat
PostPosted: Thu Jan 09, 2014 6:18 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5849
Location: UK

I can assure you that MQRC 2080 is a return code from MQGET when the message will not fit into the buffer.

However JMS may decide the buffer size from looking at the channel maxmsgl value.
_________________
Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error.
Back to top
View user's profile Send private message
j.f.sorge
PostPosted: Thu Jan 15, 2015 10:44 pm    Post subject: Reply with quote

Master

Joined: 27 Feb 2008
Posts: 218

Having similar issues here although I am not JMS but native Java API.

Client Connection Channel is set to 104857600, maxMsgSize when calling MQQueue.get(MQMessage message, MQGetMessageOptions getMessageOptions, int maxMsgSize) is set to that value, too. MessageSize itself is (got from debug) _totalMessageLength 6235277 (therefore smaller than maxMsgSize), dataBuffer is java.nio.HeapByteBuffer[pos=0 lim=6235277 cap=6235277] which seems to be exactly as large as the message got from queue but I am always getting com.ibm.mq.MQException: MQJE001: Completion Code '1', Reason '2080'.

Is there any different position where I have to change the Java code in order to get such a "large" message?
_________________
IBM Certified Solution Designer - WebSphere MQ V6.0
IBM Certified Solution Developer - WebSphere Message Broker V6.0
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Jan 16, 2015 4:30 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20696
Location: LI,NY

j.f.sorge wrote:
Having similar issues here although I am not JMS but native Java API.

Client Connection Channel is set to 104857600, maxMsgSize when calling MQQueue.get(MQMessage message, MQGetMessageOptions getMessageOptions, int maxMsgSize) is set to that value, too. MessageSize itself is (got from debug) _totalMessageLength 6235277 (therefore smaller than maxMsgSize), dataBuffer is java.nio.HeapByteBuffer[pos=0 lim=6235277 cap=6235277] which seems to be exactly as large as the message got from queue but I am always getting com.ibm.mq.MQException: MQJE001: Completion Code '1', Reason '2080'.

Is there any different position where I have to change the Java code in order to get such a "large" message?


You need to make sure that the client connection end of the channel you are building supports messages of that size.
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
j.f.sorge
PostPosted: Mon Jan 19, 2015 8:49 am    Post subject: Reply with quote

Master

Joined: 27 Feb 2008
Posts: 218

fjb_saper wrote:
You need to make sure that the client connection end of the channel you are building supports messages of that size.

Thanks a lot for help! MAXMSGLEN of channel definition within my ChannelTab was defined too small. After setting that to 100MB everything worked fine!
_________________
IBM Certified Solution Designer - WebSphere MQ V6.0
IBM Certified Solution Developer - WebSphere Message Broker V6.0
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0
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 » IBM MQ Java / JMS » Err 2080 when getting msg > 4MB in Websphere
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.