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 » Collecter node Error Handling

Post new topic  Reply to topic Goto page 1, 2  Next
 Collecter node Error Handling « View previous topic :: View next topic » 
Author Message
nmahesh4mb
PostPosted: Thu Feb 21, 2013 2:50 am    Post subject: Collecter node Error Handling Reply with quote

Novice

Joined: 25 May 2012
Posts: 23

Hi we're using the collecter node to pick the messages for particular timing and in downstream nodes of collecter node if we get any exception it'll through an exception and it'll reach to catch terminal and even if it's processed successful also again it's coming to the out terminal of collecter node( is this the behaviour of the collecter node or any problem in this) and again it's doing the same process infinity times, message flow is not stopping,

Please help
Back to top
View user's profile Send private message
smdavies99
PostPosted: Thu Feb 21, 2013 4:47 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.

My general rule of thumb with the collector node is to have as little processing as possible on the output side of the collector node. I usually just create an MQMD and drop the whole collection onto a Queue. Then another thread can pick it up and process it properly with the added benefit of the normal Error Handler wrapper.
_________________
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
Vitor
PostPosted: Thu Feb 21, 2013 5:38 am    Post subject: Re: Collecter node Error Handling Reply with quote

Grand High Poobah

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

Don't double post!

nmahesh4mb wrote:
Hi we're using the collecter node to pick the messages for particular timing


A Collector node is an odd choice for a timer. Why not a Timer node?

nmahesh4mb wrote:
and in downstream nodes of collecter node if we get any exception it'll through an exception and it'll reach to catch terminal and even if it's processed successful also again it's coming to the out terminal of collecter node( is this the behaviour of the collecter node or any problem in this) and again it's doing the same process infinity times, message flow is not stopping,


In your other post you said the exception processing was to put the message to a queue; now you say there's processing associated with it - which is it?

I repeat my comments on your other thread.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
nmahesh4mb
PostPosted: Thu Feb 21, 2013 6:45 am    Post subject: Reply with quote

Novice

Joined: 25 May 2012
Posts: 23

we need to receive from the external source and at a time we need to receive the no of messages in the given time so only I have selected the collector node,
in the collector node process while in error scenario it should stops at catch terminal but it's not ending with putting the message in catch terminal's queue it's again coming to the out terminal, collector node's catch terminal I'm connecting to the compute node and I'm set the collected message as null and creating the output message which needs to put in queue also it's coming to out terminal only
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Thu Feb 21, 2013 6:46 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

nmahesh4mb wrote:
we need to receive from the external source and at a time we need to receive the no of messages in the given time so only I have selected the collector node,
in the collector node process while in error scenario it should stops at catch terminal but it's not ending with putting the message in catch terminal's queue it's again coming to the out terminal, collector node's catch terminal I'm connecting to the compute node and I'm set the collected message as null and creating the output message which needs to put in queue also it's coming to out terminal only


You really should be using a two-step process to accomplish this. Trying to do all in one message flow is counter-productive.
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
nmahesh4mb
PostPosted: Thu Feb 21, 2013 6:53 am    Post subject: Reply with quote

Novice

Joined: 25 May 2012
Posts: 23

Thanks lancelotlinc,

I'm using two flows only,

Main thing is once exception occurs it's not stopping at catch terminal again it's coming
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Thu Feb 21, 2013 6:59 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

nmahesh4mb wrote:
Thanks lancelotlinc,

I'm using two flows only,

Main thing is once exception occurs it's not stopping at catch terminal again it's coming


Your error handler needs a better design.
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
Vitor
PostPosted: Thu Feb 21, 2013 7:00 am    Post subject: Reply with quote

Grand High Poobah

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

nmahesh4mb wrote:
we need to receive from the external source and at a time we need to receive the no of messages in the given time so only I have selected the collector node,


Which version of WMB? If you have a long timeout (minutes not seconds) I've seen odd things happen in 7.0.0.3 and lower.

nmahesh4mb wrote:
in the collector node process while in error scenario it should stops at catch terminal but it's not ending with putting the message in catch terminal's queue it's again coming to the out terminal, collector node's catch terminal I'm connecting to the compute node and I'm set the collected message as null and creating the output message which needs to put in queue also it's coming to out terminal only


And again, what does the trace say about why this is happening? I take your word for the fact you're seeing it happen & have satisfied yourself that it shouldn't be happening so this leaves the why it is in fact happening. Which the trace will tell you.

Also how (given you're not using the trace) do you know it's the same message coming out of the out terminal and not a new message that has the same content & payload as the previously failed messages, i.e. how do you know it's looping not being resubmitted to the collector as I suggested?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
nmahesh4mb
PostPosted: Thu Feb 21, 2013 8:47 am    Post subject: Reply with quote

Novice

Joined: 25 May 2012
Posts: 23

Hi this is the Trace

( ['GENERICROOT' : 0x14755c0]
(0x01000000:Name):Properties = ( ['GENERICPROPERTYPARSER' : 0x18bd4fb8]
(0x03000000:NameValue):MessageSet = NULL
(0x03000000:NameValue):MessageType = NULL
(0x03000000:NameValue):MessageFormat = NULL
(0x03000000:NameValue):Encoding = NULL
(0x03000000:NameValue):CodedCharSetId = NULL
(0x03000000:NameValue):Transactional = NULL
(0x03000000:NameValue):Persistence = NULL
(0x03000000:NameValue):CreationTime = NULL
(0x03000000:NameValue):ExpirationTime = NULL
(0x03000000:NameValue):Priority = NULL
(0x03000000:NameValue):ReplyIdentifier = NULL
(0x03000000:NameValue):ReplyProtocol = 'UNKNOWN' (CHARACTER)
(0x03000000:NameValue):Topic = NULL
(0x03000000:NameValue):ContentType = NULL
(0x03000000:NameValue):IdentitySourceType = NULL
(0x03000000:NameValue):IdentitySourceToken = NULL
(0x03000000:NameValue):IdentitySourcePassword = NULL
(0x03000000:NameValue):IdentitySourceIssuedBy = NULL
(0x03000000:NameValue):IdentityMappedType = NULL
(0x03000000:NameValue):IdentityMappedToken = NULL
(0x03000000:NameValue):IdentityMappedPassword = NULL
(0x03000000:NameValue):IdentityMappedIssuedBy = NULL
)
(0x01000000:Name):Collection = ( ['COLLECTION' : 0xe42cb0]
(0x03000000:NameValue):CollectionName = '' (CHARACTER)
(0x01000000:Name ):Collected_Idoc = ( ['MQROOT' : 0x14757e8]
(0x01000000:Name ):Properties = ( ['MQPROPERTYPARSER' : 0x18bd5840]
(0x03000000:NameValue):MessageSet = '' (CHARACTER)
(0x03000000:NameValue):MessageType = '' (CHARACTER)
(0x03000000:NameValue):MessageFormat = '' (CHARACTER)
(0x03000000:NameValue):Encoding = 546 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 437 (INTEGER)
(0x03000000:NameValue):Transactional = TRUE (BOOLEAN)
(0x03000000:NameValue):Persistence = FALSE (BOOLEAN)
(0x03000000:NameValue):CreationTime = GMTTIMESTAMP '2013-02-21 14:29:16.490' (GMTTIMESTAMP)
(0x03000000:NameValue):ExpirationTime = -1 (INTEGER)
(0x03000000:NameValue):Priority = 0 (INTEGER)
(0x03000000:NameValue):ReplyIdentifier = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000:NameValue):ReplyProtocol = 'UNKNOWN' (CHARACTER)
(0x03000000:NameValue):Topic = '' (CHARACTER)
(0x03000000:NameValue):ContentType = NULL
(0x03000000:NameValue):IdentitySourceType = NULL
(0x03000000:NameValue):IdentitySourceToken = NULL
(0x03000000:NameValue):IdentitySourcePassword = NULL
(0x03000000:NameValue):IdentitySourceIssuedBy = NULL
(0x03000000:NameValue):IdentityMappedType = NULL
(0x03000000:NameValue):IdentityMappedToken = NULL
(0x03000000:NameValue):IdentityMappedPassword = NULL
(0x03000000:NameValue):IdentityMappedIssuedBy = NULL

I'm thinking that in that the "ExpirationTime = -1 (INTEGER) " might be the reason
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Thu Feb 21, 2013 8:50 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

What does setting the Expiration to -1 mean to you when you read the InfoCentre? Do you comprehend its meaning?
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
fjb_saper
PostPosted: Thu Feb 21, 2013 8:50 am    Post subject: Reply with quote

Grand High Poobah

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

Is there a specific reason why you are "collecting" "IDocs" ??
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Vitor
PostPosted: Thu Feb 21, 2013 8:54 am    Post subject: Reply with quote

Grand High Poobah

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

nmahesh4mb wrote:
Hi this is the Trace


No it's not. That's the output of a Trace node, not a user trace.

nmahesh4mb wrote:
I'm thinking that in that the "ExpirationTime = -1 (INTEGER) " might be the reason


Are you sure you mean "thinking"? How did you come to that conclusion? All those NULLS and it's the expiry that bothers you?

One thing this does show, and is more probative than the expiry value is that if this is from a Trace node with {$Root} placed immediately after the out terminal, it contains no collection at all. So your assertion that "it's the same message over and over" is clearly false. There's no message here at all.

So maybe the Collector is doing what you've told it to do, and is emitting all the messages it received in a given period of time. Even when there are no messages at all.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Feb 21, 2013 8:55 am    Post subject: Reply with quote

Grand High Poobah

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

fjb_saper wrote:
Is there a specific reason why you are "collecting" "IDocs" ??


Oooo..... good catch!!
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
nmahesh4mb
PostPosted: Thu Feb 21, 2013 9:29 am    Post subject: Reply with quote

Novice

Joined: 25 May 2012
Posts: 23

I'm receiving the message from SAP Application
Back to top
View user's profile Send private message
nmahesh4mb
PostPosted: Thu Feb 21, 2013 9:31 am    Post subject: Reply with quote

Novice

Joined: 25 May 2012
Posts: 23

one morething I need to explain but now I'm using the MQInput node for Testing purpose while doing the Unit testing I found that collector node is not ending at catch terminal that's why I'm working on it
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 » WebSphere Message Broker (ACE) Support » Collecter node Error Handling
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.