|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
Channel program ended abnormall-what happens with roll back? |
« View previous topic :: View next topic » |
Author |
Message
|
bruce2359 |
Posted: Wed Jan 13, 2010 10:02 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
A developer I worked with at a client site told me that there were just too many RCs to to check, so he didn't. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
mvic |
Posted: Wed Jan 13, 2010 11:57 am Post subject: Re: Channel program ended abnormall-what happens with roll b |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
edhi wrote: |
After I added it (MaxChannels=200) and restarted mqseries, the problem had disappeared. |
Also pay attention to the setting of MaxActiveChannels. |
|
Back to top |
|
 |
edhi |
Posted: Wed Jan 13, 2010 12:28 pm Post subject: |
|
|
Novice
Joined: 10 Jan 2006 Posts: 15
|
The application connects to a mq manager, using a server connection channel, to read a message from a queue, then applies a transformation on the content and puts a new message on a different queue, using the same server-connection channel to the same mq manager. Between getting and putting (few milliseconds?), the error occured.
So:
-The application did not fail to connect, because the application did read data;
-The server connection channel was started, but apparently for 1 reason or another, got kicked out;
What happened then is that MQ rolls back the message to the 1st queue and everything is fine.
@PeterPotkay: YES, the application checks the returns codes and takes them into account. I understand that you make those assumptions because there is 'novice' next to my name, but in fact I'm into MQ application programming for almost 6 years now.
@bruce2359: I think you are right: no messages were lost.
But our application colleagues insist a few messages are missing and indeed the messages do not appear in the application logging, which is written after a successful put. So what happened?
As I wrote in my initial post: we are using those application programs for several years now on different platforms. They have been tested and used in all kinds of circumstances and have proved extremely reliable. Every month millions of messages are sent using MQSeries and all of them arrive. (if that wasn't the case we would be in deep trouble)
Even now, when we hit the MaxChannels limit, everything worked fine: there was a lot of congestion on the queues but the messages were rolled back correctly when the programs failed to process them.... Except apparantly in a few cases. |
|
Back to top |
|
 |
edhi |
Posted: Wed Jan 13, 2010 12:31 pm Post subject: Re: Channel program ended abnormall-what happens with roll b |
|
|
Novice
Joined: 10 Jan 2006 Posts: 15
|
mvic wrote: |
edhi wrote: |
After I added it (MaxChannels=200) and restarted mqseries, the problem had disappeared. |
Also pay attention to the setting of MaxActiveChannels. |
Yes, we also increased the MaxActiveChannels.
After adding MaxChannels and MaxActiveChannels to qm.ini and restarting MQ everything worked fine again |
|
Back to top |
|
 |
bruce2359 |
Posted: Wed Jan 13, 2010 1:39 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
The server connection channel was started, but apparently for 1 reason or another, got kicked out... |
Sounds like a network failure of some kind is causing the connection to drop. Not all that uncommon. The next call to mq will likely be a 2009 or something, indicating that the connection failed. If the app doesn't detect this (by checking ReasonCode), AND reconnect, then the next put will fail.
Quote: |
...the messages do not appear in the application logging, which is written after a successful put. So what happened? |
what is application logging? _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
PeterPotkay |
Posted: Wed Jan 13, 2010 2:18 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
edhi wrote: |
@PeterPotkay: YES, the application checks the returns codes and takes them into account. I understand that you make those assumptions because there is 'novice' next to my name, but in fact I'm into MQ application programming for almost 6 years now.
|
How long someone has been programming, or how many posts they have, has zero relevance to how well they program, or if they in fact own the program in question.
I've never made any assumptions, simply provided a very likely scenario that could give you the results you posted given the fact that you did not provide any source code or the reason codes being returned.
Back to your problem. The "missing" messages - what's missing, the message you did an MQGET on, or the message you did an MQPUT? What syncpoint option is your MQ Client using, particularly on the MQGET call?
Is the missing message scenario determined strictly because the "application logging" doesn't have an entry that corresponds, or is there some other evidence? _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
bruce2359 |
Posted: Wed Jan 13, 2010 2:49 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
As I wrote in my initial post: we are using those application programs for several years now on different platforms. They have been tested and used in all kinds of circumstances and have proved extremely reliable. |
I believe you. I, too, don't look at number of posts as a metric for experience or competence with the product. Rather, I look to the detail and clarity of the post, and to the depth and breadth of the problem-determination effort.
And while I believe all that you say about the reliability of the application, something has changed. I'd suspect that we've all seen bad code behave well until something unusual occurs.
My first experience of this sort occurred long ago at a very large and well-known bank - a bank too big to fail. The nightly app that read the checks and deposits 'validated' the amount field by ensuring that the amount was positive or negative.
This worked perfectly, unchanged, and for years... until some annoying customer deposited a personal check for $0.00. (In a PM, you can ask for details as to who the annoying customer might have been.)
My point: something changed. Perhaps it was user data. Perhaps it was a confluence of unanticipated events.
"Failure is always an option" say the guys from MythBusters. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
bruce2359 |
Posted: Wed Jan 13, 2010 4:46 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
PeterPotkay wrote: |
Is the missing message scenario determined strictly because the "application logging" doesn't have an entry that corresponds, or is there some other evidence? |
If the app is putting/getting persistent messages, there will be evidence in the mq logs. On occasion, I've had to dump log segments to prove/disprove the existence of messages and/or bad app coding. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
|
|
|
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
|
|
|
|