|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
MQOPEN error on a queue monitor CURDEPTH XMITQ |
« View previous topic :: View next topic » |
Author |
Message
|
Oroshi |
Posted: Wed Oct 05, 2022 4:54 am Post subject: MQOPEN error on a queue monitor CURDEPTH XMITQ |
|
|
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 |
|
 |
bruce2359 |
Posted: Wed Oct 05, 2022 12:19 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 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 |
|
 |
hughson |
Posted: Sat Oct 08, 2022 12:49 am Post subject: |
|
|
 Padawan
Joined: 09 May 2013 Posts: 1959 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 |
|
 |
Oroshi |
Posted: Tue Oct 11, 2022 1:27 am Post subject: |
|
|
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 |
|
 |
bruce2359 |
Posted: Tue Oct 11, 2022 3:55 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 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 |
|
 |
Oroshi |
Posted: Tue Oct 11, 2022 4:05 am Post subject: |
|
|
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 |
|
 |
bruce2359 |
Posted: Tue Oct 11, 2022 4:10 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 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 |
|
 |
Oroshi |
Posted: Tue Oct 11, 2022 4:25 am Post subject: |
|
|
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 |
|
 |
Oroshi |
Posted: Tue Oct 11, 2022 4:45 am Post subject: |
|
|
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 |
|
 |
bruce2359 |
Posted: Tue Oct 11, 2022 5:10 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 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 |
|
 |
RogerLacroix |
Posted: Fri Oct 14, 2022 12:55 pm Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 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 |
|
 |
Oroshi |
Posted: Wed Oct 19, 2022 12:52 am Post subject: |
|
|
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 |
|
 |
hughson |
Posted: Wed Oct 19, 2022 1:30 am Post subject: |
|
|
 Padawan
Joined: 09 May 2013 Posts: 1959 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 |
|
 |
Oroshi |
Posted: Wed Oct 19, 2022 5:38 am Post subject: |
|
|
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 |
|
 |
bruce2359 |
Posted: Wed Oct 19, 2022 9:30 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 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 |
|
 |
|
|
 |
Goto page 1, 2 Next |
Page 1 of 2 |
|
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
|
|
|
|