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 » Issue with WebService Retry Logic - HTTPRequestNode

Post new topic  Reply to topic
 Issue with WebService Retry Logic - HTTPRequestNode « View previous topic :: View next topic » 
Author Message
geewee
PostPosted: Wed Oct 31, 2012 3:04 am    Post subject: Issue with WebService Retry Logic - HTTPRequestNode Reply with quote

Apprentice

Joined: 31 Jul 2012
Posts: 28

Hello All,

We have a requirement of Retrying a SOAPRequest if WebService is down.

The logic is as below

1. A number of messages moved to error queue if web service not responding.
2. A retry is scheduled by a Timeout Notification Node.
3. The MQBrowse is using reset browse cursor=false within a loop in flow to iterate over all messages on queue.
4. MQBrowse is using rfh2-header info to decide whether it is time to retry the message.


Currently we use a loop in the flow and MQBrowse to scan all messages on queue. This gives execution group abend if number of messages ~500.

any suggestions on how to browse all messages on queue, without execution group abending.


BIP2161
Explanation
A broker process is terminating abnormally because its stack is full. For execution group processes, this may be caused by message flows containing loops or more than 500 nodes in series.

Code:


( MYBRK.EXECGROUP ) Broker process terminating abnormally: The following diagnostic information will be required when contacting IBM: '
Severe Abend Error detected.
For full details see Abend File: ~\Application Data\IBM\MQSI\common\errors\MYBRK.EXECGROUP.8676.2656.Abend
A summary of the Error follows:
An Unhandled Exception detected in process 8676, on thread 0xA60.
Type: EXCEPTION_STACK_OVERFLOW (C00000FD).
Address: 0033:000007FEF4F54FA1.
Exception Parameters: 2
  Param#0: 0x0000000000000001
  Param#1: 0x000000000af63ff0
'.   

A broker process is terminating abnormally.   
Contact your IBM support center.


( MYBRK.EXECGROUP ) Broker process terminating abnormally (stack full): diagnostic information for IBM 'Severe Abend Error: A Stack overflow has occured, further logging may cause a double fault and will be attempted with caution. Abend Files and/or dumps may not be produced.
'.   

A broker process is terminating abnormally because its stack is full. For execution group processes, this may be caused by message flows containing loops or more than 500 nodes in series.  Otherwise the following information will be required when contacting IBM: 'Severe Abend Error: A Stack overflow has occured, further logging may cause a double fault and will be attempted with caution. Abend Files and/or dumps may not be produced.
'.   

Check the definitions of all message flows deployed on the named execution group for loops and excessive path length.  If this does not resolve the problem, contact your IBM support center.


 
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Oct 31, 2012 5:03 am    Post subject: Reply with quote

Grand High Poobah

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

Why are you browsing the messages? Why not just read all the messages, process them if their time has come and return them to the queue if it has not?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
geewee
PostPosted: Wed Oct 31, 2012 5:24 am    Post subject: Reply with quote

Apprentice

Joined: 31 Jul 2012
Posts: 28


MQGet Node, property "Browse only"
This property controls whether a message is removed from the queue when it is read. If this check box is selected, the message is not removed from the queue when it is read. Select Browse only to specify that the message must be retained on the queue when it is read.



My plan was to leave message on queue, and only remove messages from queue when it is time for resending.

Inspired by the IBM example: "Browsing WebSphere MQ Queues sample"

Do you expect it to be more lightweight to do MQ Get rather than MQ Browse, leaving the flow to actually lift messages off queue, only to put back to queue.
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Oct 31, 2012 5:53 am    Post subject: Reply with quote

Grand High Poobah

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

geewee wrote:
Do you expect it to be more lightweight to do MQ Get rather than MQ Browse, leaving the flow to actually lift messages off queue, only to put back to queue.


I do. Browse requires the creation and maintenance of a browse cursor (one reason the EG blows out with a deep browse). A Get does not.
_________________
Honesty is the best policy.
Insanity is the best defence.
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 » Issue with WebService Retry Logic - HTTPRequestNode
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.