| Author | Message | 
		
		  | nab054371 | 
			  
				|  Posted: Thu May 10, 2007 9:32 am    Post subject: MQ V6.0 : MQRC = 2030 on segmentation |   |  | 
		
		  | Disciple
 
 
 Joined: 15 Nov 2006Posts: 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 |  | 
		
		  |  | 
		
		  | jefflowrey | 
			  
				|  Posted: Thu May 10, 2007 9:40 am    Post subject: |   |  | 
		
		  | Grand Poobah
 
 
 Joined: 16 Oct 2002Posts: 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 |  | 
		
		  |  | 
		
		  | nab054371 | 
			  
				|  Posted: Thu May 10, 2007 9:45 am    Post subject: |   |  | 
		
		  | Disciple
 
 
 Joined: 15 Nov 2006Posts: 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 |  | 
		
		  |  | 
		
		  | marcin.kasinski | 
			  
				|  Posted: Thu May 10, 2007 9:49 am    Post subject: |   |  | 
		
		  | Sentinel
 
 
 Joined: 21 Dec 2004Posts: 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 |  | 
		
		  |  | 
		
		  | jefflowrey | 
			  
				|  Posted: Thu May 10, 2007 9:57 am    Post subject: |   |  | 
		
		  | Grand Poobah
 
 
 Joined: 16 Oct 2002Posts: 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 |  | 
		
		  |  | 
		
		  | nab054371 | 
			  
				|  Posted: Thu May 10, 2007 10:00 am    Post subject: |   |  | 
		
		  | Disciple
 
 
 Joined: 15 Nov 2006Posts: 173
 
 
 | 
			  
				| No,the messages are not persistent. |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | nab054371 | 
			  
				|  Posted: Fri May 11, 2007 2:30 am    Post subject: |   |  | 
		
		  | Disciple
 
 
 Joined: 15 Nov 2006Posts: 173
 
 
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | dgolding | 
			  
				|  Posted: Fri May 11, 2007 2:51 am    Post subject: |   |  | 
		
		  |  Yatiri
 
 
 Joined: 16 May 2001Posts: 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 |  | 
		
		  |  | 
		
		  | marcin.kasinski | 
			  
				|  Posted: Fri May 11, 2007 2:54 am    Post subject: |   |  | 
		
		  | Sentinel
 
 
 Joined: 21 Dec 2004Posts: 850
 Location: Poland / Warsaw
 
 | 
			  
				| Maybe you should check channel max message size too. _________________
 Marcin
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jefflowrey | 
			  
				|  Posted: Fri May 11, 2007 3:47 am    Post subject: |   |  | 
		
		  | Grand Poobah
 
 
 Joined: 16 Oct 2002Posts: 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 |  | 
		
		  |  | 
		
		  | bruce2359 | 
			  
				|  Posted: Fri May 11, 2007 5:15 am    Post subject: |   |  | 
		
		  | 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 | 
			  
				|  Posted: Fri May 11, 2007 5:23 am    Post subject: |   |  | 
		
		  | Grand Poobah
 
 
 Joined: 16 Oct 2002Posts: 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 |  | 
		
		  |  | 
		
		  | nab054371 | 
			  
				|  Posted: Fri May 11, 2007 5:57 am    Post subject: |   |  | 
		
		  | Disciple
 
 
 Joined: 15 Nov 2006Posts: 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 |  | 
		
		  |  | 
		
		  | bruce2359 | 
			  
				|  Posted: Fri May 11, 2007 6:33 am    Post subject: |   |  | 
		
		  | 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 | 
			  
				|  Posted: Fri May 11, 2007 6:40 am    Post subject: |   |  | 
		
		  | Grand Poobah
 
 
 Joined: 16 Oct 2002Posts: 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 |  | 
		
		  |  | 
		
		  |  |