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 » General IBM MQ Support » MQOPEN error on a queue monitor CURDEPTH XMITQ

Post new topic  Reply to topic Goto page 1, 2  Next
 MQOPEN error on a queue monitor CURDEPTH XMITQ « View previous topic :: View next topic » 
Author Message
Oroshi
PostPosted: Wed Oct 05, 2022 4:54 am    Post subject: MQOPEN error on a queue monitor CURDEPTH XMITQ Reply with quote

Newbie

Joined: 05 Oct 2022
Posts: 9

Hello there,
First message on this forum.

Anyway:
My goal is to monitor using a previously created service. This service work on another host, so in itself, it is, seemingly, OK.

Issue is, on one perticuliar host, I have a MQOPEN issue on the queue.
When I look to find if there's any process taking the queue, the only one active is the channel.

I looked for the queue properties, and the shareability is to yes. So that's not because of it.

One of the possibilities could have been that a process could be on exclusive mode itself, but as I noted, only the channel process is taking the queue, and I don't know if it can do that, neither if I can modify it.

I've been looking on this forum and on the web, and didn't find anything, so I'm asking directly.

Do you have any idea why this service is bringing me a MQOPEN error?

Thanks a lot in advance, and note that I'm not experienced, so I may make/have made mistakes.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Wed Oct 05, 2022 12:19 pm    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.

Please be precise. What error are you receiving?

MQ returns ReasonCodes to applications, such as 2035 for authorization fail. The ReasonCode will tell you why the MQOPEN failed.

Another possibility is an error message written to the system error logs,in the form of AMQnnnn, where nnnn is a numeric value.

You can search google for these. For example: mqrc 2035
_________________
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
View user's profile Send private message
hughson
PostPosted: Sat Oct 08, 2022 12:49 am    Post subject: Reply with quote

Padawan

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

Your post seems to suggest that you are getting MQRC_OBJECT_IN_USE (2042), please can you confirm that this is the case?

You note that the queue has Shareability set to Yes - good.

However, you do not mention what the Default Share Options (DEFSOPT) is set to. Any application using MQOO_INPUT_AS_Q_DEF will end up with the default.

If DEFSOPT(EXCL) is set, then applications will open the queue exclusively.

Please check this queue attribute too.

You have not told us the platform your MQ queue manager is on, so we can't even guess at the default values your queue might have, as these do differ between z/OS and Distributed.

So, please tell us
  • The MQRC you are suffering
  • The platform your queue manager is running on
  • Show us the full queue definition

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
Oroshi
PostPosted: Tue Oct 11, 2022 1:27 am    Post subject: Reply with quote

Newbie

Joined: 05 Oct 2022
Posts: 9

Hello,

Thanks for your help!

Yes, it is indeed MQRC2042.


About the platform, here is what I could gather (disclaimer, I'm censoring some fields for security info, but they will still be present, just "blurried"):
Code:

Name:        IBM MQ             
Version:     9.1.0.9             
Level:       p910-009-210817     
BuildType:   IKAP - (Production)
Platform:    IBM MQ for IBM i   
O/S:         OS400 V7R4M0       
InstName:    Installation1       
InstDesc:                       
Primary:     Yes                 
InstPath:    ////////////////mqm                             
DataPath:    ////////////////mqm                             
MaxCmdLevel: 910                                           
LicenseType: Production                                     
                                                           
Name:        IBM MQ classes for Java                       
Version:     9.1.0.9                                       
Level:       p910-009-210817                               
Build Type:  Production                                     
Location:    file: /////////////////com.ibm.mq.jar
                                                           
Name:        IBM MQ classes for Java Message Service       
Version:     9.1.0.9                                       
Level:       p910-009-210817                               
Build Type:  Production [Built on IBM Corporation  8.0.5.5 - pap6480sr5fp5-20
171114_01(SR5 FP5) OS/400]                                                   
Location:    file: /////////////////com.ibm.mqjms.jar             
                                                                             
Name:        Common Services for Java Platform, Standard Edition             
Version:     9.1.0.9                                                         
Level:       p910-009-210817                                                 
Build Type:  Production                                                     
Location:    file: /////////////////com.ibm.mq.jmqi.jar           
                                                                             
Name:        Java Message Service Client                                     
Version:     9.1.0.9                                                         
Level:       p910-009-210817                                                 
Build Type:  Production                                                     
Location:    file: /////////////////com.ibm.mqjms.jar             
                                                                             
Name:        IBM MQ JMS Provider                                             
Version:     9.1.0.9                                                         
Level:       p910-009-210817 mqjbnd=p910-009-210817                         
Build Type:  Production                                                     
Location:    file: /////////////////com.ibm.mqjms.jar             
                                                                             
                                                                             
AMQ8250I: Component IBM MQ Advanced Message Security 32  bits is not installed. (translated)         
                                                                             
Name:        OpenSSL (PASE)                                                 
Version:     OpenSSL 1.1.1k  25 Mar 2021                                     
Platform:    platform: aix64-cc                                             
                                                                             
sed: 001-2272 Error in file "s/^\([a-zA-Z0-9_][a-zA- ..." on line 1: characte
r 1 not defined in the regular expression.                                   
sed: 001-2272 Error in file "s/^\([a-zA-Z0-9_][a-zA- ..." on line 1: characte
r 1 not defined in the regular expression.                                   
Location:    file: //////////////////web                                     
                                                                             
AMQ8250I: component MFT 32 bits is not installed. (translated)                       
                                                                             
Name:        libCurl                                                         
Version:     libcurl/7.78.0                                                 
Location:    file: /////////////////LIBCURL.SRVPGM           



Here are the informations about the queue:
Code:

QUEUE(//////)                           TYPE(QLOCAL)       
ACCTQ(QMGR)                             ALTDATE(2022-02-17)
ALTTIME(12.42.10)                       BOQNAME( )         
BOTHRESH(0)                             CLUSNL( )         
CLUSTER( )                              CLCHNAME( )       
CLWLPRTY(0)                             CLWLRANK(0)       
CLWLUSEQ(QMGR)                          CRDATE(2015-12-09)
ACCTQ(QMGR)                             ALTDATE(2022-02-17) 
ALTTIME(12.42.10)                       BOQNAME( )           
BOTHRESH(0)                             CLUSNL( )           
CLUSTER( )                              CLCHNAME( )         
CLWLPRTY(0)                             CLWLRANK(0)         
CLWLUSEQ(QMGR)                          CRDATE(2015-12-09)   
CRTIME(16.06.15)                        CURDEPTH(0)         
CUSTOM( )                               DEFBIND(OPEN)       
DEFPRTY(0)                              DEFPSIST(YES)       
DEFPRESP(SYNC)                          DEFREADA(NO)         
DEFSOPT(SHARED)                         DEFTYPE(PREDEFINED) 
DESCR(//////)                           DISTL(YES)           
GET(ENABLED)                            HARDENBO             
IMGRCOVQ(QMGR)                          INITQ(NIAGARA3.QC)   
IPPROCS(1)                              MAXDEPTH(50000)     
MAXMSGL(4194304)                        MONQ(QMGR)           
MSGDLVSQ(PRIORITY)                      TRIGGER             
NPMCLASS(NORMAL)                        OPPROCS(1)           
PROCESS(//////)                         PUT(ENABLED)         
PROPCTL(V6COMPAT)                       QDEPTHHI(80)         
QDEPTHLO(20)                            QDPHIEV(ENABLED)     
QDPLOEV(DISABLED)                       QDPMAXEV(ENABLED)   
QSVCIEV(NONE)                           QSVCINT(999999999)   
RETINTVL(999999999)                     SCOPE(QMGR)         
SHARE                                   STATQ(QMGR)         
TRIGDATA(//////)                        TRIGDPTH(1)         
TRIGMPRI(0)                             TRIGTYPE(FIRST)     
USAGE(XMITQ)                           


As you can see, DEFSOPT(SHARED) is present, so by default, it is set to shared.

Hope you have enough information,
Regards
Back to top
View user's profile Send private message
bruce2359
PostPosted: Tue Oct 11, 2022 3:55 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.

The queue is a transmission queue USAGE(XMITQ). An xmitq is opened by the sender/server channel process as INPUT_EXCLUSIVE.

It seems that your app attempting to open this same queue for input.
_________________
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
View user's profile Send private message
Oroshi
PostPosted: Tue Oct 11, 2022 4:05 am    Post subject: Reply with quote

Newbie

Joined: 05 Oct 2022
Posts: 9

Oh, I see.
Is there a way to share an xmitq?
Because what I'd like to do with my app is monitor this queue's curdepth
Back to top
View user's profile Send private message
bruce2359
PostPosted: Tue Oct 11, 2022 4:10 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.

Oroshi wrote:
Oh, I see.
Is there a way to share an xmitq?
Because what I'd like to do with my app is monitor this queue's curdepth

You can determine queue depth by opening the queue for INQUIRE, and not INPUT or OUTPUT or SET.
_________________
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
View user's profile Send private message
Oroshi
PostPosted: Tue Oct 11, 2022 4:25 am    Post subject: Reply with quote

Newbie

Joined: 05 Oct 2022
Posts: 9

bruce2359 wrote:
Oroshi wrote:
Oh, I see.
Is there a way to share an xmitq?
Because what I'd like to do with my app is monitor this queue's curdepth

You can determine queue depth by opening the queue for INQUIRE, and not INPUT or OUTPUT or SET.


Okay so about this, I asked for the program.
Looks like in the end it's the default IBM table used for this service.
SYSIBM.MQSERVICE_TABLE

I found on it and in the documentation how to set it in input(SHARED), but not to inquire.

Is this possible to do so using this table, or should we look for another way and need to develop something to look into the queue using inquire?
Back to top
View user's profile Send private message
Oroshi
PostPosted: Tue Oct 11, 2022 4:45 am    Post subject: Reply with quote

Newbie

Joined: 05 Oct 2022
Posts: 9

adding:
It's just a use of the MQREAD and MQREADLL functions.
Still not sure if I can or not make it in inquire this way
Back to top
View user's profile Send private message
bruce2359
PostPosted: Tue Oct 11, 2022 5:10 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.

DB2-MQ is not my area of expertise.

You may need to make use of MQ base calls to open an object to inquire as to its attributes. MQINQ call allows an app to inquire on all MQ objects types, and return attribute values.
_________________
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
View user's profile Send private message
RogerLacroix
PostPosted: Fri Oct 14, 2022 12:55 pm    Post subject: Reply with quote

Jedi Knight

Joined: 15 May 2001
Posts: 3252
Location: London, ON Canada

It might be easier to issue a PCF command to get the current queue depth rather than doing MQINQ.

Regards,
Roger Lacroix
Capitalware Inc.
_________________
Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter
Back to top
View user's profile Send private message Visit poster's website
Oroshi
PostPosted: Wed Oct 19, 2022 12:52 am    Post subject: Reply with quote

Newbie

Joined: 05 Oct 2022
Posts: 9

Hi again,

I must admit that I never did program anything on an AS400, nor using PCF ^^"
Do you have a starting guide that's accessible for beginners?
I found some documentation on the official site, but I'm having issues understanding it

TIA
Back to top
View user's profile Send private message
hughson
PostPosted: Wed Oct 19, 2022 1:30 am    Post subject: Reply with quote

Padawan

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

I have to ask, why are you looking to write a program to monitor the depth of a transmission queue? What do you plan to do if the depth is not to your liking?

Channels can already be trigger started if there are messages waiting to be moved. Channels already have retry processing if they encounter network errors and need to restart. If you make use of clustering, channels can even have their messages reassigned to go to another better destination.

How often to you plan to query the depth of this queue? How much will these repeated queries impact the efficiency of your queue manager? Remember that there are queue manager produced Queue High events for queue depth, so you can just ask the queue manager to tell you when the depth of a queue gets high. Would that meet your needs? It would be less invasive than repeatedly polling on the depth of a queue.

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
Oroshi
PostPosted: Wed Oct 19, 2022 5:38 am    Post subject: Reply with quote

Newbie

Joined: 05 Oct 2022
Posts: 9

Well, I want to monitor it, simply.

That's what I want to do.

Under AS400, we don't really know a way to make a simple script to trigger and monitor like we could, let's say, on a linux.

On a linux, a simple runmqsc < echo "dis ql(Queue)" |grep CURDEPTH would suffice, even if there is probably more efficient ways to do so, but you get the idea.
I want to monitor and get every 5 min the queue depth, and sent it to a file for example.
Then I can check the file and configure the triggers and alerting on our monitoring too. What I need is only the CURDEPTH.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Wed Oct 19, 2022 9:30 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.

Oroshi wrote:
Well, I want to monitor it, simply.
Then I can check the file and configure the triggers and alerting on our monitoring too. What I need is only the CURDEPTH.

You already have a monitoring tool? Which monitoring tool?

I've modified the OP title to include these terms: monitor CURDEPTH and XMITQ.
_________________
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
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » General IBM MQ Support » MQOPEN error on a queue monitor CURDEPTH XMITQ
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.