Author |
Message
|
KeeferG |
Posted: Thu Dec 08, 2005 7:55 am Post subject: Problem Alias Queues |
|
|
 Master
Joined: 15 Oct 2004 Posts: 215 Location: Basingstoke, UK
|
MQ 5.3 CSD 8
Solaris
Has anyone had any problems with alias queues. One of our application works fine when using local queues defined below.
def ql(PP.AS01.TMR)
def ql(PP.AS01.TMQ)
It does not work when we have the following definitions
def ql(PP.AS01.TIMER.MSG)
def ql(PP.AS01.TIMER.CMD)
def qalias(PP.AS01.TMR) TARGQ(PP.AS01.TIMER.MSG)
def qalias(PP.AS01.TMQ) TARGQ(PP.AS01.TIMER.CMD)
The failure only occurs with one particular application. The definitions above are for illustration purposes.
Anyone else had any issues like this
Cheers _________________ Keith Guttridge
-----------------
Using MQ since 1995 |
|
Back to top |
|
 |
Toronto_MQ |
Posted: Thu Dec 08, 2005 8:00 am Post subject: |
|
|
 Master
Joined: 10 Jul 2002 Posts: 263 Location: read my name
|
What kind of failure? ANy MQ return codes?
We have MQ 5.3 CSD08 on Solaris but we are not a heavy QALIAS user... if you can provide more info I can have a look.
Cheers
Steve |
|
Back to top |
|
 |
Mr Butcher |
Posted: Thu Dec 08, 2005 8:19 am Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
maybe the application does some inquire, and if you inquire an alias queue you will get the attributes of the alias queue and not of the local queue.
but this is just a guess - as Toronto_MQ wrote: WHAT kind of failure? _________________ Regards, Butcher |
|
Back to top |
|
 |
hopsala |
Posted: Fri Dec 09, 2005 12:00 am Post subject: Re: Problem Alias Queues |
|
|
 Guardian
Joined: 24 Sep 2004 Posts: 960
|
KeeferG wrote: |
MQ 5.3 CSD 8 |
This has no bearing upon your original query. Since you did not specify what the problem is other than "there's a failure" we can't help you much there.
However, you should definitely look at CSD08 AND CSD09. |
|
Back to top |
|
 |
KeeferG |
Posted: Fri Dec 09, 2005 3:48 am Post subject: |
|
|
 Master
Joined: 15 Oct 2004 Posts: 215 Location: Basingstoke, UK
|
Right, a bit more information but not much i'm afraid.
No information in any of the AMQERR.LOG files. Ran a trace on the API and found a couple of instances of bad hobj, and objects in use.
The application has not been told of the change from local to alias queues, ie. all of it config remains the same. The old local queues are now the alias queues pointing to the new local queues with different naming convention.
Using the info i gave previously were are seeing the application fails with unknown object name for queues PP.AS01.TIM and PP.AS01.TIM suggesting that it is trying to open the new local queue but mangling it to fit the original queue name length. The confusing part is that in the real application the local queue names have changed in such a way that the application can only know about it by finding out the new local queue names some how.
We are not allowed to upgrade CSD until csd 12 comes out next month as there are known problems with 8 9 and maybe 10 also.
http://www-1.ibm.com/support/docview.wss?uid=swg21223536
Any ideas. Time to call some hursley people i think.
Will update any findings.
If anyone has any ideas on what may be happeining that would be good to hear.
Cheers _________________ Keith Guttridge
-----------------
Using MQ since 1995 |
|
Back to top |
|
 |
KeeferG |
Posted: Fri Jan 13, 2006 6:27 am Post subject: |
|
|
 Master
Joined: 15 Oct 2004 Posts: 215 Location: Basingstoke, UK
|
Having looked through a trace i spotted the following line
13:19:51.089183 24281.588 AllowAliasQueue(1) isFastnetPossible(1) pHobj->fOtherQmgr(1) QName(INTF.B.AUDIT
Any body have any thoguhts as to if the bold text is the reason my apps are failing with alias queues and how to chnage it _________________ Keith Guttridge
-----------------
Using MQ since 1995 |
|
Back to top |
|
 |
KeeferG |
Posted: Fri Jan 13, 2006 6:50 am Post subject: |
|
|
 Master
Joined: 15 Oct 2004 Posts: 215 Location: Basingstoke, UK
|
for testing puroposes we hard coded the queue names into the application. When the queues were local queues the application worked. When the queues were alias queues the application failed.
Because of this the queue naming change was put on hold and i can no longer run the tests.
The trace snippet is from something else but i spotted that line and thought iy may be related. I have to admit i am puzzled by this. the application error logs do refer to the new underlying queue names in places. it is almost like the application opens the alias, gets the resolved name and stores it. Because the new name is longer than the app can store it gets truncated. The app then tries to use the truncated resolved name in future but fails as the truncated queue doesnt exist. _________________ Keith Guttridge
-----------------
Using MQ since 1995 |
|
Back to top |
|
 |
KeeferG |
Posted: Fri Jan 13, 2006 7:08 am Post subject: |
|
|
 Master
Joined: 15 Oct 2004 Posts: 215 Location: Basingstoke, UK
|
Will try and get the developer to send me the appropriate snippets. Will probably be next week now.
I am still puzzled to why running an pplication against local queues workw but stopping the application. delete the queues, create new local queues of longer different names, create new alias queues with same names as old locals and then starting the applcation doesnt work. First time i have seen this behaviour in 10 years. _________________ Keith Guttridge
-----------------
Using MQ since 1995 |
|
Back to top |
|
 |
PeterPotkay |
Posted: Fri Jan 13, 2006 9:47 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
do some testing on your own with amqsput on this QM. If that bombs, you know the problem is with the QM or defs. If it works, then you know the problem is in their code. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Jan 13, 2006 1:32 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
PeterPotkay wrote: |
do some testing on your own with amqsput on this QM. If that bombs, you know the problem is with the QM or defs. If it works, then you know the problem is in their code. |
My guess the problem is in the code and the way it accesses MQ.
Have a look at the MQExplorer Version 6.0
It requires a Model queue: SYSTEM.MQEXPLORER.REPLY.MODEL and will not accept an Alias queue pointing to SYSTEM.MQSC.REPLY.QUEUE (model queue) . I imagine the system checks for some specific attributes of the model queue that are not accessible from the Alias queue.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Mr Butcher |
Posted: Sun Jan 15, 2006 11:46 pm Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
issue a
DEFINE QMODEL(SYSTEM.MQEXPLORER.REPLY.MODEL) LIKE(SYSTEM.MQSC.REPLY.QUEUE)
and you are fine. _________________ Regards, Butcher |
|
Back to top |
|
 |
KeeferG |
Posted: Mon Jan 16, 2006 3:18 am Post subject: |
|
|
 Master
Joined: 15 Oct 2004 Posts: 215 Location: Basingstoke, UK
|
The ptroblem is definately in the code as sample programs can use the alias queues fine.
I just can't think of any options that would stop alias queues working. Hopefull getting a slot next week with the developers to work on it.
Will let you know how it goes _________________ Keith Guttridge
-----------------
Using MQ since 1995 |
|
Back to top |
|
 |
Mr Butcher |
Posted: Mon Jan 16, 2006 3:28 am Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
one example: if mqinq is used, you will get the qlocal attributes if opening a local queue directly.
if the open is performed using an alias queue, the attributes returned are the attributes of the alias queue, not of the local queue. _________________ Regards, Butcher |
|
Back to top |
|
 |
|