Author |
Message
|
paleyplease |
Posted: Tue Dec 06, 2016 11:30 am Post subject: Message Stuck |
|
|
Apprentice
Joined: 05 Feb 2014 Posts: 45
|
I am trying to determine if it is possible to process msgs that are stuck on the XMITQ for a sending MQv7.5 AIX QMGR going to a MQv8.x Linux QMGR
The MQ8.x Linux QMGR which the msgs were destined for has crashed and will not be up for a lengthy time. I would like to send those msgs to a whole differently named MQv8.x Linux QMGR which are still on the MQv7.5 AIX server.
What method can I attempt to put those msgs to the new destination?
I tried to use QLoad on the producer from the XMITQ to a new QR going to the new MQv8.x qmgr but those msgs go to the DLQ. I also wasnt able to take the qload output and move it over to the MQv8.x QMGR and load via dmpmqmsg.
Any suggestions? |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Dec 06, 2016 11:50 am Post subject: Re: Message Stuck |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
paleyplease wrote: |
I am trying to determine if it is possible to process msgs that are stuck on the XMITQ for a sending MQv7.5 AIX QMGR going to a MQv8.x Linux QMGR
The MQ8.x Linux QMGR which the msgs were destined for has crashed and will not be up for a lengthy time. I would like to send those msgs to a whole differently named MQv8.x Linux QMGR which are still on the MQv7.5 AIX server.
What method can I attempt to put those msgs to the new destination?
I tried to use QLoad on the producer from the XMITQ to a new QR going to the new MQv8.x qmgr but those msgs go to the DLQ. I also wasnt able to take the qload output and move it over to the MQv8.x QMGR and load via dmpmqmsg.
Any suggestions? |
Create a channel to the relevant substitution qmgr. Make sure there exists a qmgr alias for the original destination on the substitution destination qmgr and that the destination queues exists as well.
In the new channel set as xmitq, the currently loaded xmitq. You will have to change the xmitq to hold the channel name in the trigger data field.
Start the channel and see the messages flowing...
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
paleyplease |
Posted: Tue Dec 06, 2016 12:20 pm Post subject: |
|
|
Apprentice
Joined: 05 Feb 2014 Posts: 45
|
So in terms of definitions being created/updated in example:
QMGR_AIX
QMGR_LINUX1
Channel currently: QMGR_AIX.QMGR_LINUX1
Messages are stuck on XMITQ: QMGR_LINUX1
Destination Queue is LINUX
We want to to create a new Channel:
QMGR_AIX.QMGR_LINUX2 (to a whole new host) on QMGR: QMGR_LINUX2
We want to get those msgs off the xmitq from QMGR_AIX and get them over to QMGR_LINUX2, for destination Queue LINUX.
So on the the substituion Destination QMGR (QMGR_LINUX2) what is the definition values for an qmgr alias I would need to create. Assume Destination Queue Linux already exists there.
I understand how to also update the triggering on the source XMITQ.
My question is the QMGR Alias piece assuming the naming above, can you please share.
Much Appreciated. |
|
Back to top |
|
 |
JosephGramig |
Posted: Tue Dec 06, 2016 1:17 pm Post subject: |
|
|
 Grand Master
Joined: 09 Feb 2006 Posts: 1244 Location: Gold Coast of Florida, USA
|
So this is what you have, the msgs from QMGR_AIX are in an XMITQ to QMGR_LINUX1 and the name of the target queue and Qmgr are in the XMIT header.
When you build a new channel to send the msgs to QMGR_LINUX2, the MCA will MQPUT those msgs specifying the target queue and Qmgr thus causing the Qmgr to reresolve the target to QMGR_LINUX1 qmgr.
A remote queue specifies at least a remote queue name and QmgrName (maybe an XMITQ for explicit targeting).
A remote queue with a blank remote queue name but QmgrName specified, is one form of a Qmgr Alias and will cause the Qmgr to try to resolve a route to the specified Qmgr (if the XMITQ was blank, otherwise it will blindly put the msg in the XMITQ).
An alias queue with a blank remote queue name, QmgrName and XMITQ should strip the XMIT header and try to resolve to a local queue.
- At QMGR_LINUX2
DEF QR(QMGR_LINUX1) RNAME( ) RQMNAME( ) XMITQ( )
I think that will work. Testing works best  |
|
Back to top |
|
 |
paleyplease |
Posted: Tue Dec 06, 2016 1:30 pm Post subject: |
|
|
Apprentice
Joined: 05 Feb 2014 Posts: 45
|
So per this definition on QMGR_LINUX2
- At QMGR_LINUX2
DEF QR(QMGR_LINUX1) RNAME( ) RQMNAME( ) XMITQ( )
This should handle those msgs on the XMITQ(QMGR_LINUX1) from QMGR_AIX, and automatically route to the correct local queues assuming they all exist on the new QMGR since the header information will consist the target queue/qmgr? |
|
Back to top |
|
 |
paleyplease |
Posted: Tue Dec 06, 2016 1:32 pm Post subject: |
|
|
Apprentice
Joined: 05 Feb 2014 Posts: 45
|
And the xmitq with the msgs sitting waiting around will auto fire when I update the trigger / trigdata with the new chl name?
Of course I will setup some testing here. |
|
Back to top |
|
 |
JosephGramig |
Posted: Tue Dec 06, 2016 1:47 pm Post subject: |
|
|
 Grand Master
Joined: 09 Feb 2006 Posts: 1244 Location: Gold Coast of Florida, USA
|
Only when the next msg hits, so you might want to start that channel manually.
I'm assuming you have stopped the old channel.
You do not want new msgs going into XMITQ QMGR_LINUX1, so fix whatever was directing them there to now go to XMITQ QMGR_LINUX2 (with new appropriate channel). When an XMITQ name matches the target Qmgr, it is another form of an Alias Qmgr.
What fun Alias Qmgrs are! |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Dec 06, 2016 2:38 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
paleyplease wrote: |
So per this definition on QMGR_LINUX2
- At QMGR_LINUX2
DEF QR(QMGR_LINUX1) RNAME( ) RQMNAME( ) XMITQ( )
This should handle those msgs on the XMITQ(QMGR_LINUX1) from QMGR_AIX, and automatically route to the correct local queues assuming they all exist on the new QMGR since the header information will consist the target queue/qmgr? |
Rather try this:
At qmgr linux2
Code: |
DEF QR(QMGR_LINUX1) RNAME() RQMNAME(QMGR_LINUX2) XMITQ() |
Joseph's setup with a blank destination qmgr looks more like a cluster alias than a simple qmgr alias.
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
cgache |
Posted: Tue Dec 27, 2016 8:47 pm Post subject: |
|
|
Apprentice
Joined: 27 May 2013 Posts: 28 Location: Sydney, AUS
|
Guys what about using a tool such as MO71, create a connection to the new queue manager and move them that way? Easier? |
|
Back to top |
|
 |
|