Author |
Message
|
skopparapu |
Posted: Fri Mar 17, 2017 11:45 am Post subject: MQ Channels |
|
|
Novice
Joined: 04 Mar 2014 Posts: 19
|
Hello Everyone !! I am writing a unix script which retrieves the channel status and reports as ERROR if channel is in any state other than RUNNING. I am able to fetch all except when the channel is in INACTIVE.
Simply saying do I have any command which returns me INACTIVE when the channel is really in-active ?
 |
|
Back to top |
|
 |
PaulClarke |
Posted: Fri Mar 17, 2017 2:46 pm Post subject: |
|
|
 Grand Master
Joined: 17 Nov 2005 Posts: 1002 Location: New Zealand
|
Are you sure you want to do this ? Normally just because a channel is not running does not necessarily mean that it is an error. However, ignoring the fact that this might not be a good direction to go in your question seems to answer itself. When you issue DIS CHS(*) you get back information about channels for which there is some information. It doesn't return information about inactive channels because they are...er....inactive. So, anything not returned can be assumed to be inactive.
Consider the case where you have a generic receiver channel. And let's say that this channel *could* be used by 1000 remote machines. Would you really want DIS CHS(*) to return 1000 responses tell you each instance of the channel is not running? This is just an example. In reality the channel is not being used by everybody! It is just not feasible for DIS CHS(*) to tell you all the possible channels that could be running but which aren't right now.
Cheers,
Paul. _________________ Paul Clarke
MQGem Software
www.mqgem.com |
|
Back to top |
|
 |
gbaddeley |
Posted: Sun Mar 19, 2017 3:05 pm Post subject: Re: MQ Channels |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
skopparapu wrote: |
Simply saying do I have any command which returns me INACTIVE when the channel is really in-active ?  |
By definition, when a channel is inactive (ie. there is no thread running for it in a MCA), there is no status information available. I suggest that you do some reading on the lifecycle of MQ channel status, including the concept that some channel types can have multiple status entries.
If a channel is not in RUNNING status it could indicate a problem, but many statuses are transitory and MQ will be trying to recover and retry. If your script reports an error, the issue might be resolved by the time someone looks at it. _________________ Glenn |
|
Back to top |
|
 |
bruce2359 |
Posted: Sun Mar 19, 2017 3:34 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Channel state can change in micro-seconds - due to transitory network hardware or other problems. TCP/IP errors and other channel errors/failures are written to MQ error logs. Perhaps your script should look here.
MQ channels do self-correction (retries). _________________ 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 |
|
 |
gbaddeley |
Posted: Mon Mar 20, 2017 2:50 pm Post subject: |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
A script or monitoring tool that generates error alerts for MQ channel status should sample the status and then only report an error if it has remained in an abnormal state for an extended period of time. This could indicate a true abnormal situation.
Eg. Sample every 5 - 10 minutes. If the state is abnormal (eg. RETRY, BINDING, STOPPED, PAUSED) for 5 successive samples, then generate the alert. _________________ Glenn |
|
Back to top |
|
 |
skopparapu |
Posted: Tue Mar 21, 2017 12:56 am Post subject: |
|
|
Novice
Joined: 04 Mar 2014 Posts: 19
|
Thank You all for your Inputs. I am going with the option - " Identifying the Disconnect interval from error logs(AMQ9575) and get the channel name corresponding to it and would like to report as INACTIVE" . |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Mar 21, 2017 8:48 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Why do you believe that disconnect interval important to you? _________________ 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 |
|
 |
skopparapu |
Posted: Tue Mar 21, 2017 8:59 am Post subject: |
|
|
Novice
Joined: 04 Mar 2014 Posts: 19
|
Hi Bruce, if no Messages arrive on to the XMIT queue within the Disconnect interval specified then the channel associated to that XMIT queue would go INACTIVE and that's what I was actually looking for right. Is there anything wrong/long path taking ? |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Mar 21, 2017 9:08 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
skopparapu wrote: |
Hi Bruce, if no Messages arrive on to the XMIT queue within the Disconnect interval specified then the channel associated to that XMIT queue would go INACTIVE and that's what I was actually looking for right. Is there anything wrong/long path taking ? |
I asked why you believe that INACTIVE state is important?
For example, do you believe that INACTIVE is a bad state to be in? That INACTIVE indicates some kind of error?
Do you believe that RUNNING state is better? That RUNNING guarantees that the channel will send/receive messages when next it tries?
I (we) appreciate you attempt to identify problem channels, but INACTIVE state is not a problem indicator. _________________ 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 |
|
 |
gbaddeley |
Posted: Tue Mar 21, 2017 3:13 pm Post subject: |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
skopparapu wrote: |
Hi Bruce, if no Messages arrive on to the XMIT queue within the Disconnect interval specified then the channel associated to that XMIT queue would go INACTIVE and that's what I was actually looking for right. Is there anything wrong/long path taking ? |
If a channel is RUNNING or INACTIVE (ie. there is no current status) it is in normal expected operation and you would not report an error.
There are other abnormal conditions that could exist on Transmission Queues that should be separately reported. Eg. Queue Depth events (high water mark, queue full) or messages aging. _________________ Glenn |
|
Back to top |
|
 |
|