Author |
Message
|
rkford11 |
Posted: Wed Jan 26, 2005 1:12 pm Post subject: Error with broker cluster queue |
|
|
Partisan
Joined: 06 Jun 2004 Posts: 316
|
I have a two qmgrs associated with broker, in a cluster and Cluster queue 'Q1' is local on QMGR1.On the second machine where
i have my QMGR2 and i am getting following error every hour machine 2.
Unable to open queue 'Q1' on WebSphere Business Integration queue manager 'QMGR2': completion code 2; reason code 2085.
A message flow node failed to open the indicated WebSphere Business Integration message queue. The error codes relate to the MQOPEN call.
Check the WebSphere Business Integration completion and reason codes in the WebSphere Business Integration Application Programming Reference manual to establish the cause of the error, taking any appropriate action. It may be necessary to restart the message broker after you have performed this recovery action. If the open failed because the queue manager or queue did not exist, define these objects to WebSphere Business Integration. If the failure of the open was because incorrect object names were specified, correct the message flow configuration and attempt to redeploy the message
Please guide me through this.
Thanks |
|
Back to top |
|
 |
JT |
Posted: Wed Jan 26, 2005 1:52 pm Post subject: |
|
|
Padawan
Joined: 27 Mar 2003 Posts: 1564 Location: Hartford, CT.
|
You can't define a clustered queue to the MQInput node. The assumption is the queue is owned by the broker's queue manager.
This is the message produced on a Unix system that relates to your scenario. The bolded portion is to the point:
Quote: |
Node failed to open WebSphere Business Integration queue 'Q1' owned by queue manager 'QMGR2': completion code 2; reason code 2085. : |
Regarding the queue parameter of the MQInput node, the Help facility states:
Quote: |
Enter the name of the queue from which the message flow receives messages. You must predefine this WebSphere MQ queue to the queue manager that hosts the broker to which the message flow is deployed |
|
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Jan 26, 2005 1:55 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Yeah, in general you can't open a REMOTE queue for Input - and clustering doesn't change this. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
vennela |
Posted: Wed Jan 26, 2005 1:55 pm Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
Quote: |
I have a two qmgrs associated with broker, |
What do you mean?
Usually in clustering scenarios, if you are trying to OPEN a cluster queue which is not hosted by the QMGR you are connected to, and if you OPEN to GET, then you get a 2085.
If the queue is clustered and is not hosted by the broker QMGR, and if you have specified such a queue in one of the MQInput nodes (for example), then you will get this error |
|
Back to top |
|
 |
rkford11 |
Posted: Wed Jan 26, 2005 2:33 pm Post subject: |
|
|
Partisan
Joined: 06 Jun 2004 Posts: 316
|
If the queue is clustered and is not hosted by the broker QMGR, and if you have specified such a queue in one of the MQInput nodes (for example), then you will get this error[/quote]
Vennela, i have done exactly what you have stated. i want to use the clustered queue in the MQInput node or MQoutput node.so how do i do this. i want to use the clustered queues in my message flows.
Thanks |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Jan 26, 2005 2:34 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
You can use the clustered queue in an MQOutput.
You can not use any queue that is not a QLOCAL on the Broker's queue manager in an MQInput. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
rkford11 |
Posted: Wed Jan 26, 2005 3:08 pm Post subject: |
|
|
Partisan
Joined: 06 Jun 2004 Posts: 316
|
jefflowrey wrote: |
You can use the clustered queue in an MQOutput.
You can not use any queue that is not a QLOCAL on the Broker's queue manager in an MQInput. |
Thanks Jeff,
So how do we set up the cluster of brokers.
Thanks |
|
Back to top |
|
 |
JT |
Posted: Wed Jan 26, 2005 3:13 pm Post subject: |
|
|
Padawan
Joined: 27 Mar 2003 Posts: 1564 Location: Hartford, CT.
|
|
Back to top |
|
 |
vennela |
Posted: Wed Jan 26, 2005 3:14 pm Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
For example:
You have three QMGRs
QM1
QM2
QM3
All of them part of a cluster.
QM2 - BRK1
QM3 - BRK2
QM2 is hosting the clusterQ CQInput
QM3 is also hosting the clusterQ CQInput
In this case you can deploy a message flow that is having an input node of CQInput queue, to both the brokers and the brokers will work fine.
If some application is connected to QM1 and is putting messages to CQInput then, with the regular work load algorithm, half of the messages will be processed by BRK1 and the other half will be processed by BRK2.
However, you can host a queue called CQOutput on QM3 and cluster it and specify that in the MQOutput node of the message flow, both the brokers will send the messages to CQOutput node on QM3.
Maybe you can expand on this. |
|
Back to top |
|
 |
rkford11 |
Posted: Wed Jan 26, 2005 3:55 pm Post subject: |
|
|
Partisan
Joined: 06 Jun 2004 Posts: 316
|
vennela wrote: |
If some application is connected to QM1 and is putting messages to CQInput then, with the regular work load algorithm, half of the messages will be processed by BRK1 and the other half will be processed by BRK2.
|
So Vennela, when BRK1 is down all the messages will be processed by BRK2.
Am i correct.
Thanks |
|
Back to top |
|
 |
PeterPotkay |
Posted: Wed Jan 26, 2005 7:09 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
No, because QM2 is still up so the Gateway QM will still send messages to it. The Gateway doesn't know or care that the application servicing that queue decided to die.
You need hardware clustering. That way if either QM2 or BKR1 have a problem, they are moved automagically together to another server where they continue to run. And you need the same thing for QM3 / BKR2. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
kirani |
Posted: Wed Jan 26, 2005 11:40 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Also when you decide to deploy the same message flow to two different broker's then make sure your message flow does not expect messages in certain order. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
rkford11 |
Posted: Sat Jan 29, 2005 3:33 pm Post subject: |
|
|
Partisan
Joined: 06 Jun 2004 Posts: 316
|
kirani wrote: |
Also when you decide to deploy the same message flow to two different broker's then make sure your message flow does not expect messages in certain order. |
Thanks a lot to all of you.
So for effective workload balance MQ clustering is recommended and for failover( either broker or queue manager is down) situations hardware clustering is useful. |
|
Back to top |
|
 |
petervh |
Posted: Thu Oct 12, 2006 8:21 am Post subject: 2085 on GET from MQInput node |
|
|
Apprentice
Joined: 15 Jun 2006 Posts: 31
|
vennela wrote: |
For example:
You have three QMGRs
QM1
QM2
QM3
All of them part of a cluster.
QM2 - BRK1
QM3 - BRK2
QM2 is hosting the clusterQ CQInput
QM3 is also hosting the clusterQ CQInput
In this case you can deploy a message flow that is having an input node of CQInput queue, to both the brokers and the brokers will work fine.
If some application is connected to QM1 and is putting messages to CQInput then, with the regular work load algorithm, half of the messages will be processed by BRK1 and the other half will be processed by BRK2.
However, you can host a queue called CQOutput on QM3 and cluster it and specify that in the MQOutput node of the message flow, both the brokers will send the messages to CQOutput node on QM3.
Maybe you can expand on this. |
Sorry to reopen this discussion, but I'm a little confused about the reply that I've quoted, above. Is it not possible to have two Brokers that each have the same flow deployed and use the same clustered queue defined in the MQInput node? (Even if I define the same queue name as a clustered queue in each QMGR associated with broker 1 and 2?). |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Oct 12, 2006 3:19 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Sure but then the queue is a qlocal to each of the brokers.
The case that brought the 2085 was a broker triying to get a message from a queue that was not defined locally (qlocal) to it.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|