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 » MQ V6.0 : MQRC = 2030 on segmentation

Post new topic  Reply to topic Goto page 1, 2  Next
 MQ V6.0 : MQRC = 2030 on segmentation « View previous topic :: View next topic » 
Author Message
nab054371
PostPosted: Thu May 10, 2007 9:32 am    Post subject: MQ V6.0 : MQRC = 2030 on segmentation Reply with quote

Disciple

Joined: 15 Nov 2006
Posts: 173

Hi,
I am running into an issue when trying to segment message over 4 MB(5.2 MB message).

My JAVA application uses MQ API,sits on the same box as the message broker and writes to a local queue with following options:

qMessage = new MQMessage();

qMessage.messageFlags = MQC.MQMF_SEGMENTATION_ALLOWED;

qMessage.setVersion(MQC.MQMD_VERSION_2);

Now I am running into following error when reading the message back on the same box:

MQPUT failed: MQCC=2; MQRC=2030.

My options on a get are:
gmo.options = MQC.MQGMO_WAIT | MQC.MQGMO_FAIL_IF_QUIESCING | MQC.MQGMO_COMPLETE_MSG;

Looks like MQPUT fails when writing this message to a dynamic queue on the same box as the broker with 2030.

With segmenation,I am guessing I dont have to change MQXMSGLENGTH parameter on any of the queues?

MAXMSGLENGTH on the queue manager is 100MB.

thanks
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Thu May 10, 2007 9:40 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

I'm confused.

You're getting a 2030 on your PUT, or your GET?
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
nab054371
PostPosted: Thu May 10, 2007 9:45 am    Post subject: Reply with quote

Disciple

Joined: 15 Nov 2006
Posts: 173

sorry for the confusion. MQPUT(trying to write to dynamic queue) in the message flow fails with 2030 and my application reading fro this dynamic queue fails with 2033.
Back to top
View user's profile Send private message
marcin.kasinski
PostPosted: Thu May 10, 2007 9:49 am    Post subject: Reply with quote

Sentinel

Joined: 21 Dec 2004
Posts: 850
Location: Poland / Warsaw

Quote:
2030 0x000007ee MQRC_MSG_TOO_BIG_FOR_Q
2033 0x000007f1 MQRC_NO_MSG_AVAILABLE

I hope it explains everything.
_________________
Marcin
Back to top
View user's profile Send private message Visit poster's website
jefflowrey
PostPosted: Thu May 10, 2007 9:57 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Right, so the message never gets PUT because of the 2030, so it's not available to be GOT.

Are your messages persistent? If so you probably need to specify SYNCPOINT.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
nab054371
PostPosted: Thu May 10, 2007 10:00 am    Post subject: Reply with quote

Disciple

Joined: 15 Nov 2006
Posts: 173

No,the messages are not persistent.
Back to top
View user's profile Send private message
nab054371
PostPosted: Fri May 11, 2007 2:30 am    Post subject: Reply with quote

Disciple

Joined: 15 Nov 2006
Posts: 173

Any ideas???
Back to top
View user's profile Send private message
dgolding
PostPosted: Fri May 11, 2007 2:51 am    Post subject: Reply with quote

Yatiri

Joined: 16 May 2001
Posts: 668
Location: Switzerland

You say Max message length for the queue manager is 100Mb but what is it for the queue?
Code:
dis q(<qname>) maxmsgl
Back to top
View user's profile Send private message Visit poster's website
marcin.kasinski
PostPosted: Fri May 11, 2007 2:54 am    Post subject: Reply with quote

Sentinel

Joined: 21 Dec 2004
Posts: 850
Location: Poland / Warsaw

Maybe you should check channel max message size too.
_________________
Marcin
Back to top
View user's profile Send private message Visit poster's website
jefflowrey
PostPosted: Fri May 11, 2007 3:47 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

I believe it shouldn't matter what the queue MaxMsgLn is - as nab054371 is trying to get the qmgr to segment messages to FIT into the queue...
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Fri May 11, 2007 5:15 am    Post subject: Reply with quote

Guest




Message segmentation is either explicitly done by the application (not the case here) OR by the queue manager when sending message segments from one qmgr to another qmgr via channels.

Are the two applications, the one that puts a message to the queue and the getting application, on different qmgrs? across channels?

Am I missing something?
Back to top
jefflowrey
PostPosted: Fri May 11, 2007 5:23 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

nab054371 is trying to write code to have the qmgr segment messages when PUTTING.

When trying to do this, with the code shown, a 2030 is resulting.

It is only *slightly* possible, in my mind, that any channel MaxMsgLns would be involved.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
nab054371
PostPosted: Fri May 11, 2007 5:57 am    Post subject: Reply with quote

Disciple

Joined: 15 Nov 2006
Posts: 173

Thanks for your response guys.Turns out I could not get segmentation to work off of dynamic queue,I guess the model queue does not have options to enable segmentation.I was able to get it to work on one of our static queues.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Fri May 11, 2007 6:33 am    Post subject: Reply with quote

Guest




Check the QM (Queue Model) definition that the application opens. The QM has a max msg length attribute that must be as big as the message you intend to put to the resulting dynamic queue.
Back to top
jefflowrey
PostPosted: Fri May 11, 2007 6:40 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

bruce2359 wrote:
Check the QM (Queue Model) definition that the application opens. The QM has a max msg length attribute that must be as big as the message you intend to put to the resulting dynamic queue.

nab054371 wrote:
MAXMSGLENGTH on the queue manager is 100MB.

_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » General IBM MQ Support » MQ V6.0 : MQRC = 2030 on segmentation
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.