ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » IBM MQ Installation/Configuration Support » Changing QAlias pointing to TARGTYPE(TOPIC)

Post new topic  Reply to topic
 Changing QAlias pointing to TARGTYPE(TOPIC) « View previous topic :: View next topic » 
Author Message
vicks_mq
PostPosted: Wed Oct 24, 2018 5:01 am    Post subject: Changing QAlias pointing to TARGTYPE(TOPIC) Reply with quote

Disciple

Joined: 03 Oct 2017
Posts: 162

Hi, I am trying to alter a QALIAS which is pointing to target type as TOPIC, and whenever I tried to change it, it gives me error as "MQ Object in USE".
I have also stopped the SVRCONN channel which was trying to publish to this Qalias/Topic, but still getting the same "MQ Object in USE" error.
Please suggest what places should I look at?
Is having a IPPROCS on subscribers queue , could cause this issue??
Back to top
View user's profile Send private message
hughson
PostPosted: Wed Oct 24, 2018 1:19 pm    Post subject: Reply with quote

Padawan

Joined: 09 May 2013
Posts: 1914
Location: Bay of Plenty, New Zealand

That suggests that an application has the queue open, you could try this command to see who that is.
Code:
DISPLAY CONN(*) TYPE(ALL) ALL WHERE(OBJNAME EQ alias-q-name)

I don't believe any getters on the subscribers queue could cause an issue at the object you are putting to.

Cheers,
Morag
_________________
Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software
Back to top
View user's profile Send private message Visit poster's website
vicks_mq
PostPosted: Fri Oct 26, 2018 9:33 am    Post subject: Reply with quote

Disciple

Joined: 03 Oct 2017
Posts: 162

Quote:
That suggests that an application has the queue open, you could try this command to see who that is.
Code:
DISPLAY CONN(*) TYPE(ALL) ALL WHERE(OBJNAME EQ alias-q-name)


Thank you @hughson, I found the Application which was putting the lock and managed to kill the process and update the queue accordingly.
Back to top
View user's profile Send private message
hughson
PostPosted: Fri Oct 26, 2018 5:10 pm    Post subject: Reply with quote

Padawan

Joined: 09 May 2013
Posts: 1914
Location: Bay of Plenty, New Zealand

vicks_mq wrote:
I found the Application which was putting the lock and managed to kill the process and update the queue accordingly.

Glad to hear you are all sorted now.

Cheers,
Morag
_________________
Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software
Back to top
View user's profile Send private message Visit poster's website
vicks_mq
PostPosted: Wed Nov 28, 2018 3:52 pm    Post subject: Reply with quote

Disciple

Joined: 03 Oct 2017
Posts: 162

hughson wrote:
That suggests that an application has the queue open, you could try this command to see who that is.
Code:
DISPLAY CONN(*) TYPE(ALL) ALL WHERE(OBJNAME EQ alias-q-name)

I don't believe any getters on the subscribers queue could cause an issue at the object you are putting to.

Cheers,
Morag


Hi Morag, I explored the above command a little more and hit on a small issue.

While I used this command on a local queue, I got no result as
Quote:

DISPLAY CONN(*) TYPE(ALL) ALL WHERE(OBJNAME EQ 'LONDON_TO_PARIS.QUEUE')
AMQ8461: Connection identifier not found.



whereas when I used the QSTATUS command here, I was able to get the connection
Quote:
DIS QS(LONDON_TO_PARIS.QUEUE) TYPE(HANDLE) ALL
61 : DIS QS(ELONDON_TO_PARIS.QUEUE) TYPE(HANDLE) ALL
AMQ8450: Display queue status details.
QUEUE(LONDON_TO_PARIS.QUEUE)
TYPE(HANDLE) APPLDESC(WebSphere MQ Channel)
APPLTAG(MsgController) APPLTYPE(USER)
BROWSE(NO) CHANNEL(LONDON.PRDSSL)
CONNAME(11.112.113.14) ASTATE(ACTIVE)
HSTATE(ACTIVE) INPUT(SHARED)
INQUIRE(YES) OUTPUT(NO)
PID(24752) QMURID(0.1631627)
SET(NO) TID(*)
URID(XA_FORMATID[] XA_GTRID[] XA_BQUAL[])
URTYPE(QMGR) USERID(chakde)

Why the discrepancy in the results here, shouldn't the 1st command shows the handle on the queue?
Back to top
View user's profile Send private message
hughson
PostPosted: Fri Nov 30, 2018 2:19 pm    Post subject: Reply with quote

Padawan

Joined: 09 May 2013
Posts: 1914
Location: Bay of Plenty, New Zealand

vicks_mq wrote:
Hi Morag, I explored the above command a little more and hit on a small issue.

While I used this command on a local queue, I got no result as
Quote:

DISPLAY CONN(*) TYPE(ALL) ALL WHERE(OBJNAME EQ 'LONDON_TO_PARIS.QUEUE')
AMQ8461: Connection identifier not found.



whereas when I used the QSTATUS command here, I was able to get the connection
Quote:
DIS QS(LONDON_TO_PARIS.QUEUE) TYPE(HANDLE) ALL
61 : DIS QS(ELONDON_TO_PARIS.QUEUE) TYPE(HANDLE) ALL
AMQ8450: Display queue status details.
QUEUE(LONDON_TO_PARIS.QUEUE)
TYPE(HANDLE) APPLDESC(WebSphere MQ Channel)
APPLTAG(MsgController) APPLTYPE(USER)
BROWSE(NO) CHANNEL(LONDON.PRDSSL)
CONNAME(11.112.113.14) ASTATE(ACTIVE)
HSTATE(ACTIVE) INPUT(SHARED)
INQUIRE(YES) OUTPUT(NO)
PID(24752) QMURID(0.1631627)
SET(NO) TID(*)
URID(XA_FORMATID[] XA_GTRID[] XA_BQUAL[])
URTYPE(QMGR) USERID(chakde)

Why the discrepancy in the results here, shouldn't the 1st command shows the handle on the queue?

This sounds like a defect to me. I would report it to IBM. These two commands should not disagree.

Which version of IBM MQ is your queue manager?

Cheers,
Morag
_________________
Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software
Back to top
View user's profile Send private message Visit poster's website
vicks_mq
PostPosted: Wed Dec 05, 2018 9:49 am    Post subject: Reply with quote

Disciple

Joined: 03 Oct 2017
Posts: 162

hughson wrote:
vicks_mq wrote:
Hi Morag, I explored the above command a little more and hit on a small issue.

While I used this command on a local queue, I got no result as
Quote:

DISPLAY CONN(*) TYPE(ALL) ALL WHERE(OBJNAME EQ 'LONDON_TO_PARIS.QUEUE')
AMQ8461: Connection identifier not found.



whereas when I used the QSTATUS command here, I was able to get the connection
Quote:
DIS QS(LONDON_TO_PARIS.QUEUE) TYPE(HANDLE) ALL
61 : DIS QS(ELONDON_TO_PARIS.QUEUE) TYPE(HANDLE) ALL
AMQ8450: Display queue status details.
QUEUE(LONDON_TO_PARIS.QUEUE)
TYPE(HANDLE) APPLDESC(WebSphere MQ Channel)
APPLTAG(MsgController) APPLTYPE(USER)
BROWSE(NO) CHANNEL(LONDON.PRDSSL)
CONNAME(11.112.113.14) ASTATE(ACTIVE)
HSTATE(ACTIVE) INPUT(SHARED)
INQUIRE(YES) OUTPUT(NO)
PID(24752) QMURID(0.1631627)
SET(NO) TID(*)
URID(XA_FORMATID[] XA_GTRID[] XA_BQUAL[])
URTYPE(QMGR) USERID(chakde)

Why the discrepancy in the results here, shouldn't the 1st command shows the handle on the queue?

This sounds like a defect to me. I would report it to IBM. These two commands should not disagree.

Which version of IBM MQ is your queue manager?

Cheers,
Morag

Hi Morag,

Apology for delay in reply - following is the version
Name: WebSphere MQ
Version: 8.0.0.2
Level: p800-002-150217.2
BuildType: IKAP - (Production)
Platform: WebSphere MQ for Linux (x86-64 platform)
Mode: 64-bit
O/S: Linux 2.6.32-754.6.3.el6.x86_64
Back to top
View user's profile Send private message
hughson
PostPosted: Wed Dec 05, 2018 8:40 pm    Post subject: Reply with quote

Padawan

Joined: 09 May 2013
Posts: 1914
Location: Bay of Plenty, New Zealand

vicks_mq wrote:
Hi Morag,

Apology for delay in reply - following is the version
Name: WebSphere MQ
Version: 8.0.0.2
Level: p800-002-150217.2
BuildType: IKAP - (Production)
Platform: WebSphere MQ for Linux (x86-64 platform)
Mode: 64-bit
O/S: Linux 2.6.32-754.6.3.el6.x86_64

Hmm, that's quite an old Fix Pack. I would be inclined to try out a more recent one. I don't actually have an 8.0.0.2 installation any more (removed it to make space!), but I have tried 8.0.0.0 and 8.0.0.4 and not seen your problem.

If getting to a more up-to-date Fix Pack doesn't help, I suggest you raise this with IBM in a PMR, since it certainly does not look right.

Cheers,
Morag
_________________
Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software
Back to top
View user's profile Send private message Visit poster's website
vicks_mq
PostPosted: Wed May 29, 2019 10:39 am    Post subject: Reply with quote

Disciple

Joined: 03 Oct 2017
Posts: 162

hughson wrote:
vicks_mq wrote:
Hi Morag,

Apology for delay in reply - following is the version
Name: WebSphere MQ
Version: 8.0.0.2
Level: p800-002-150217.2
BuildType: IKAP - (Production)
Platform: WebSphere MQ for Linux (x86-64 platform)
Mode: 64-bit
O/S: Linux 2.6.32-754.6.3.el6.x86_64

Hmm, that's quite an old Fix Pack. I would be inclined to try out a more recent one. I don't actually have an 8.0.0.2 installation any more (removed it to make space!), but I have tried 8.0.0.0 and 8.0.0.4 and not seen your problem.

If getting to a more up-to-date Fix Pack doesn't help, I suggest you raise this with IBM in a PMR, since it certainly does not look right.

Cheers,
Morag


Hi Morag, I got back to this post again after updating our MQ to 8.0.0.10 and still have same issue, after careful observation I found following

1. Below doesn't give any result, because this is a TARGET Queue and whereas application has made a connection to ALIAS Queue.

DISPLAY CONN(*) TYPE(ALL) ALL WHERE(OBJNAME EQ 'LONDON_TO_PARIS.QUEUE')

when I changed the above and used ALIAS Qname, then I got connection handles.

Surprisingly, in case of DIS QSTATUS, I don't get result with ALIAS Q and I only get result on Target Q which is a local Q.


I think the way these commands work is different, whereas DIS QS always print results from local target Q, whereas Dis CONN command return the results from the original queue to which application has open the handle , if it is ALIAS Q, then I have to use ALIAS Q name, if it is local Q, then I have to use local Queue name but i can't interchange them in lieu of.
Back to top
View user's profile Send private message
hughson
PostPosted: Wed May 29, 2019 12:35 pm    Post subject: Reply with quote

Padawan

Joined: 09 May 2013
Posts: 1914
Location: Bay of Plenty, New Zealand

vicks_mq wrote:
Hi Morag, I explored the above command a little more and hit on a small issue.

While I used this command on a local queue, I got no result as
Quote:

DISPLAY CONN(*) TYPE(ALL) ALL WHERE(OBJNAME EQ 'LONDON_TO_PARIS.QUEUE')
AMQ8461: Connection identifier not found.



whereas when I used the QSTATUS command here, I was able to get the connection
Quote:
DIS QS(LONDON_TO_PARIS.QUEUE) TYPE(HANDLE) ALL
61 : DIS QS(ELONDON_TO_PARIS.QUEUE) TYPE(HANDLE) ALL
AMQ8450: Display queue status details.
QUEUE(LONDON_TO_PARIS.QUEUE)
TYPE(HANDLE) APPLDESC(WebSphere MQ Channel)
APPLTAG(MsgController) APPLTYPE(USER)
BROWSE(NO) CHANNEL(LONDON.PRDSSL)
CONNAME(11.112.113.14) ASTATE(ACTIVE)
HSTATE(ACTIVE) INPUT(SHARED)
INQUIRE(YES) OUTPUT(NO)
PID(24752) QMURID(0.1631627)
SET(NO) TID(*)
URID(XA_FORMATID[] XA_GTRID[] XA_BQUAL[])
URTYPE(QMGR) USERID(chakde)

Why the discrepancy in the results here, shouldn't the 1st command shows the handle on the queue?


Hi Vicks,

I don't believe I realised on your original question above that when you said "I used this command on a local queue" what you actually meant was "I used this command on a local queue that the application was opening via an alias queue".

vicks_mq wrote:
I think the way these commands work is different, whereas DIS QS always print results from local target Q, whereas Dis CONN command return the results from the original queue to which application has open the handle , if it is ALIAS Q, then I have to use ALIAS Q name, if it is local Q, then I have to use local Queue name but i can't interchange them in lieu of.


Your description above is correct. DISPLAY CONN shows you what the application did. DISPLAY QSTATUS is only useful on local queues.

IBM Knowledge Center wrote:
Note
You cannot use the DISPLAY QSTATUS command to display the status of an alias queue or remote queue. If you specify the name of one of these types of queue, no data is returned. You can, however, specify the name of the local queue or transmission queue to which the alias queue or remote queue resolves.


That is why my answer to you very first question in this thread was DISPLAY CONN and not DISPLAY QS.

hughson wrote:
That suggests that an application has the queue open, you could try this command to see who that is.
Code:
DISPLAY CONN(*) TYPE(ALL) ALL WHERE(OBJNAME EQ alias-q-name)


Sorry for the confusion.

Cheers,
Morag
_________________
Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ Installation/Configuration Support » Changing QAlias pointing to TARGTYPE(TOPIC)
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.