Author |
Message
|
moorej_gl |
Posted: Mon Jan 03, 2005 2:46 pm Post subject: message missing after broker abend |
|
|
 Apprentice
Joined: 01 Dec 2003 Posts: 35 Location: Madison, WI
|
We are running v5.0.3 on a Win2k server and have experienced a couple of broker abends in the last few months where large messages caused the broker to run out of memory. The message being processed at the time of the abend predictably disappears each time it happens. It is occurring with different message flows each time. I seem to remember being told by mqsi support some months back that this behavior could be expected when memory exceptions occur.
So I was wondering if everyone generally agrees that you can expect to lose messages this way under these circumstances. I also saw documentation suggesting that from an MQInput node, "a commit is performed after each message has been propagated completely through the message flow." (ac04560_). If that's the case, then shouldn't my message still exist on the input queue after the broker abends and restarts the EG? The catch and failure terminals are also wired to log to a trace file and output to an error queue - but these don't seem to be utilized when the abend occurs. Am I missing something? Does anyone really understand the broker abend event in general? |
|
Back to top |
|
 |
tillywern |
Posted: Mon Jan 03, 2005 3:31 pm Post subject: Message persistance. |
|
|
 Centurion
Joined: 28 Jan 2003 Posts: 109 Location: Colorado
|
I would first look to see if your messages are persistant.
We are working with WBIMB v5 here and have had no loss of our persistant messages even after repeated memory allocation abends. Our message is rolled back to the queue where it came from and the process restarts.
MQSeries removed non-persistant messages when the process requests them.
Frequent abends can be caused by memory problems so check your thread stack sizes as overrunning the stack can caus an abend. But the default on Windowz is 2 Meg so unless you are dealing with a lot of data, big flows, or loops withing yoru flows the stack shoudl be fine. |
|
Back to top |
|
 |
mgk |
Posted: Mon Jan 03, 2005 4:17 pm Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
Hi,
It is definitly worth checking that your messages are persistent, if you expect them to survive an abend (as all non persistent messages will not)
However, just for reference, the default thread stack size on windows is 1 MB, but this normally plenty. In this case though, as you say the abend mentioned memory allocation, do not worry about the stack size, as if you had blown the stack you would get a stack overflow abend, not a memory allocation abend...
Cheers, _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
moorej_gl |
Posted: Tue Jan 04, 2005 6:51 am Post subject: |
|
|
 Apprentice
Joined: 01 Dec 2003 Posts: 35 Location: Madison, WI
|
We're handling all persistent messages. |
|
Back to top |
|
 |
zpat |
Posted: Tue Jan 04, 2005 6:53 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Make sure the flow is marked as transactional!
Even if persistent - if messages are MGET'ed without syncpoint, they're gone! |
|
Back to top |
|
 |
moorej_gl |
Posted: Tue Jan 04, 2005 7:38 am Post subject: |
|
|
 Apprentice
Joined: 01 Dec 2003 Posts: 35 Location: Madison, WI
|
Is that true? You're referring to the Transaction Mode property on MQInput nodes? The flow that caused the abend most recently has it set to No... this could be our problem. |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Jan 04, 2005 8:31 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
moorej_gl wrote: |
Is that true? You're referring to the Transaction Mode property on MQInput nodes? The flow that caused the abend most recently has it set to No... this could be our problem. |
Yes. That's definitely the reason for the loss. "No" means "Execute the MQGet outside a unit of work".
Also, your memory abends may be caused by bugs in custom nodes... If, somehow, some developer forgot to delete memory in java nodes...  _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
|