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 » Failed to put message mqw102 - works to 1 queue but not 2

Post new topic  Reply to topic
 Failed to put message mqw102 - works to 1 queue but not 2 « View previous topic :: View next topic » 
Author Message
peteredm
PostPosted: Thu Oct 01, 2009 3:23 am    Post subject: Failed to put message mqw102 - works to 1 queue but not 2 Reply with quote

Newbie

Joined: 23 Jul 2009
Posts: 4

Hi all, If I output to 1 mqqueue with 1 MqOutput node in the message flow no error but if I output to 2 exactly the same mqqueue's (just different names) be it in the message flow via 1 mqoutput node or two mqoutput nodes in serial, parrellel or with a flow order node I get the following error after about 1700 messages have gone through it - never errors on the same message twice so thinking some sort of buffer is hit.

Error in debug level user trace is:

Message successfully output by output node 'GetLetters.ECAMISLETTER.IN' to queue ''ECAMISLETTER.IN'' on queue manager ''''.
2009-10-01 09:23:49.306484~87231152 UserTrace BIP2638I: The MQ output node 'GetLetters.ECAMISLET.2GPS' attempted to write a message to queue ''ECAMISLET.2GPS'' connected to queue manager ''''. The MQCC was '2' and the MQRC was '2003'.
2009-10-01 09:23:49.313865~87231152 UserTrace BIP2231E: Error detected whilst processing a message in node 'GetLetters.ECAMISLET.2GPS'.
The message broker detected an error whilst processing a message in node 'GetLetters.ECAMISLET.2GPS'. The message has been augmented with an exception list and has been propagated to the node's failure terminal for further processing.
See the following messages for details of the error.
2009-10-01 09:23:49.313892~87231152 MessageException BIP2667E: An error occurred in node 'GetLetters.ECAMISLET.2GPS' writing message to queue ''ECAMISLET.2GPS'' on queue manager ''''. State = '-1' ''MQW102'' '2003' ''''
An error occurred when a message flow node attempted to write a message to a queue. The reason code from the MQPUT is displayed as the 3rd (native error) state.
Check the WebSphere MQ completion and reason codes in the WebSphere MQ Application Programming Reference manual to establish the cause of the error, taking any appropriate action. It may be necessary to restart the message broker after you have performed this recovery action.
2009-10-01 09:23:49.320739~87231152 UserTrace BIP2539I: Node 'GetLetters.Trace MQOuput Failure': Evaluating expression ''ExceptionList'' at ('', '2.3'). This resolved to ''ExceptionList''. The result was ''ROW... Root Element Type=16777216 NameSpace='' Name='Root' Value=NULL''.
2009-10-01 09:23:49.321029~87231152 UserTrace BIP2539I: Node 'GetLetters.Trace MQOuput Failure': Evaluating expression ''Root'' at ('', '5.3'). This resolved to ''Root''. The result was ''ROW... Root Element Type=16777216 NameSpace='' Name='Root' Value=NULL''.
2009-10-01 09:23:49.321559~87231152 UserTrace BIP4067I: Message propagated to output terminal for trace node 'GetLetters.Trace MQOuput Failure'.
The trace node 'GetLetters.Trace MQOuput Failure' has received a message and is propagating it to any nodes connected to its output terminal.
No user action required.
2009-10-01 09:23:49.321575~87231152 UserTrace BIP4101I: Exception thrown by throw node 'GetLetters.Throw'.
The throw node 'GetLetters.Throw' has received a message and will throw an exception as this is its normal behavior.
No user action required.

And the output from the trace node handling the failure terminal of the MqOutput node is:

EXCEPTION LIST STARTING.....
(
(0x01000000):RecoverableException = (
(0x03000000):File = '/build/S600_P/src/DataFlowEngine/ImbDataFlowNode.cpp'
(0x03000000):Line = 616
(0x03000000):Function = 'ImbDataFlowNode::createExceptionList'
(0x03000000):Type = 'ComIbmMQOutputNode'
(0x03000000):Name = 'GetLetters#FCMComposite_1_8'
(0x03000000):Label = 'GetLetters.ECAMISLET.2GPS'
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 2230
(0x03000000):Text = 'Node throwing exception'
(0x01000000):MessageException = (
(0x03000000):File = '/build/S600_P/src/DataFlowEngine/ImbMqOutputNode.cpp'
(0x03000000):Line = 2160
(0x03000000):Function = 'ImbMqOutputNode::putMessage'
(0x03000000):Type = 'ComIbmMQOutputNode'
(0x03000000):Name = 'GetLetters#FCMComposite_1_8'
(0x03000000):Label = 'GetLetters.ECAMISLET.2GPS'
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 2667
(0x03000000):Text = 'Failed to put message'
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '-1'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'MQW102'
)
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '2003'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = ''
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = ''
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'ECAMISLET.2GPS'
)
)
)
)
EXCEPTION LIST ENDED

Any thoughts on this one greeatly appreciated as a bit stumped due to it working when there's only one output mqqueue.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Thu Oct 01, 2009 4:11 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Are you putting 1700 messages in the same transaction?

Is the log space big enough?
Back to top
View user's profile Send private message
peteredm
PostPosted: Thu Oct 01, 2009 6:05 am    Post subject: Reply with quote

Newbie

Joined: 23 Jul 2009
Posts: 4

Your right about the transaction logs. Just found the MQ error log and it's last entries are all..

-------------------------------------------------------------------------------
01/10/09 11:28:54 - Process(4328.5) User(wbiadmin) Program(amqzmuc0)
AMQ7469: Transactions rolled back to release log space.

EXPLANATION:
The log space for the queue manager is becoming full. One or more long-running
transactions have been rolled back to release log space so that the queue
manager can continue to process requests.
ACTION:
Try to ensure that the duration of your transactions is not excessive. Consider
increasing the size of the log to allow transactions to last longer before the
log starts to become full.
-------------------------------------------------------------------------------

Yes I'm putting through a lot of messages through in one transaction. Are using the broker with a timeout node to initiate a message flow with a java compute to get many messages out of 1 directory in the file system.

Any pointers on increasing the log size.. primary or secoundry? and could you point me in the direction of what commands to use to obtain current set-up and to increase?

Many thanks
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Oct 01, 2009 6:09 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

peteredm wrote:
Yes I'm putting through a lot of messages through in one transaction. Are using the broker with a timeout node to initiate a message flow with a java compute to get many messages out of 1 directory in the file system.


But do they all need to be in the same transaction? What will happen if you increase the log size, then the file increases and the log fills again? And again, and so on?

peteredm wrote:
Any pointers on increasing the log size.. primary or secoundry? and could you point me in the direction of what commands to use to obtain current set-up and to increase?


Both of these questions have been recently asked and answered in here; the search facility is your friend and will give you the two possible methods. As a tip, there isn't an "change log file command" so don't bother looking.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
peteredm
PostPosted: Thu Oct 01, 2009 6:21 am    Post subject: Reply with quote

Newbie

Joined: 23 Jul 2009
Posts: 4

True, very valid point maybe get the java compute to exit after the first 100 messages to break up the transaction and increase the timeout node interval to process all the messages.

Will also put the search feature to a bit more use!

Thanks for the quick replies mqjeff and Vitor
Back to top
View user's profile Send private message
mqjeff
PostPosted: Thu Oct 01, 2009 8:20 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

You could just change the MQOutput node to not be in transaction.

You should not be reading from MQ using a JavaCompute node, by the way.

Use MQGet node. Always.
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 » WebSphere Message Broker (ACE) Support » Failed to put message mqw102 - works to 1 queue but not 2
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.