Author |
Message
|
bruce2359 |
Posted: Tue Jan 26, 2016 6:48 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
Please post the lines of your source code that populate the MQOD. _________________ 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 |
|
 |
smeunier |
Posted: Tue Jan 26, 2016 6:58 am Post subject: |
|
|
 Partisan
Joined: 19 Aug 2002 Posts: 305 Location: Green Mountains of Vermont
|
Installed MQ version is:
Name: WebSphere MQ
Version: 7.5.0.3
Level: p750-003-140123
Principal: mqviewer is part of the group: mqbrowse
mqbrowse:!:231:cms,tcidb,tciauto,mqviewer |
|
Back to top |
|
 |
smeunier |
Posted: Tue Jan 26, 2016 7:19 am Post subject: |
|
|
 Partisan
Joined: 19 Aug 2002 Posts: 305 Location: Green Mountains of Vermont
|
Quote: |
Please post the lines of your source code that populate the MQOD. |
This is generic Java code running PCF Inquire commands against all the queues.
// Get the list of Queues
Code: |
PCFMessage pcfRequest = new PCFMessage(CMQCFC.MQCMD_INQUIRE_Q); |
// Request status for each local queue
Code: |
PCFMessage pcfRequest = new PCFMessage(CMQCFC.MQCMD_INQUIRE_Q_STATUS);
pcfRequest.addParameter(CMQC.MQCA_Q_NAME, qName);
pcfRequest.addParameter(CMQCFC.MQIACF_Q_STATUS_TYPE, CMQCFC.MQIACF_Q_STATUS);
pcfRequest.addParameter(CMQCFC.MQIACF_Q_STATUS_ATTRS, attr);
PCFMessage[] pcfResponse; |
It is at this point that the 2035 occurs and only for the PERM DYNAMIC queues. All other queues status requests are fine(hundreds). |
|
Back to top |
|
 |
smeunier |
Posted: Tue Jan 26, 2016 7:29 am Post subject: |
|
|
 Partisan
Joined: 19 Aug 2002 Posts: 305 Location: Green Mountains of Vermont
|
Quote: |
Please post the lines of your source code that populate the MQOD. |
More specifically, the queues were created by the QApply program, a subset of the IBM's InfoSphere QReplication services. This is where you would find the MQOD, but not available to me. |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Jan 26, 2016 8:19 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
smeunier wrote: |
Quote: |
Please post the lines of your source code that populate the MQOD. |
More specifically, the queues were created by the QApply program, a subset of the IBM's InfoSphere QReplication services. This is where you would find the MQOD, but not available to me. |
You've changed the subject from your PCF inquire app to the app that creates the queues. I'm confused now. _________________ 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 |
|
 |
smeunier |
Posted: Tue Jan 26, 2016 9:48 am Post subject: |
|
|
 Partisan
Joined: 19 Aug 2002 Posts: 305 Location: Green Mountains of Vermont
|
Quote: |
You've changed the subject from your PCF inquire app to the app that creates the queues. I'm confused now. |
I was trying to delineate the difference between the App that created the Dynamic Queues (QReplication) and the App that reads the list of Queues and receives the 2035's errors (PCF app). Sorry for the confusion. Probably more info than needed. |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Jan 26, 2016 10:03 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
smeunier wrote: |
Quote: |
You've changed the subject from your PCF inquire app to the app that creates the queues. I'm confused now. |
I was trying to delineate the difference between the App that created the Dynamic Queues (QReplication) and the App that reads the list of Queues and receives the 2035's errors (PCF app). Sorry for the confusion. Probably more info than needed. |
So, as I requested, please post the source code that populated the MQOD in your inquire application - the app that receives the 2035 r/c. _________________ 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 |
|
 |
smeunier |
Posted: Tue Jan 26, 2016 2:29 pm Post subject: |
|
|
 Partisan
Joined: 19 Aug 2002 Posts: 305 Location: Green Mountains of Vermont
|
As stated previously. The PCFRequest is handled by the PCF MQ Java classes. MQOD class is used by the underlying implementation of PCFRequest I beleive or at the agent level. It is nothing I create or manipulate.
Code: |
PCFMessageAgent (host, Integer.parseInt (port), channel);
PCFMessage pcfRequest = new PCFMessage(com.ibm.mq.constants.CMQCFC.MQCMD_INQUIRE_Q_STATUS);
|
is the closest I get to it(MQOD.
Switching gears a little, is there a reason why these dynamic queues would not show up in MQExplorer? |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Jan 26, 2016 4:07 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
smeunier wrote: |
Switching gears a little, is there a reason why these dynamic queues would not show up in MQExplorer? |
No, a queue is a queue is a queue. If the queue can be seen with MQSC DISPLAY, then you should be able to see it with MQExplorer. _________________ 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 |
|
 |
fjb_saper |
Posted: Wed Jan 27, 2016 5:40 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
smeunier wrote: |
As stated previously. The PCFRequest is handled by the PCF MQ Java classes. MQOD class is used by the underlying implementation of PCFRequest I beleive or at the agent level. It is nothing I create or manipulate.
Code: |
PCFMessageAgent (host, Integer.parseInt (port), channel);
PCFMessage pcfRequest = new PCFMessage(com.ibm.mq.constants.CMQCFC.MQCMD_INQUIRE_Q_STATUS);
|
is the closest I get to it(MQOD.
Switching gears a little, is there a reason why these dynamic queues would not show up in MQExplorer? |
I am a little bit confused here. Why first inquire about the queue name and then the queue status? Why not request the status of all queues, or limit the queue name in the status request?
On the other hand what is the life cycle of those dynamic queues?
Your 2035 seems to be answer to an underlying 2085... it was requested somewhere else that instead of receiving a 2085 the user should receiver a 2035 for a non existing queue, so I am not excluding an early implementation for that, that would not take into account the fact that you would be authorized and should still receive a 2085...
Do you always receive an error on the dynamic queues? How long do they exist before destruction?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
smeunier |
Posted: Wed Jan 27, 2016 7:19 am Post subject: |
|
|
 Partisan
Joined: 19 Aug 2002 Posts: 305 Location: Green Mountains of Vermont
|
Quote: |
Why first inquire about the queue name and then the queue status? Why not request the status of all queues, or limit the queue name in the status request? |
I'm not the developer of the code, so I can't justify their reasoning on why they get the list of queue's, and then ripple through the list and then get the status. However, it is good proof that the queues do exist, as expected that they would, since they are PERM DYNAMIC and the application is still running that created them. The following output shows that they do exist with the resulting 2035 on the Queue Status.
Status Request for queue: IBMQREP.SPILL.MODELQ.0.14.3
MQJE001: Completion Code '2', Reason '2035'.
Status Request for queue: IBMQREP.SPILL.MODELQ.0.21.3
MQJE001: Completion Code '2', Reason '2035'.
Quote: |
Do you always receive an error on the dynamic queues?
|
No, the TEMP DYNAMIC queues created by MQExplorer, show up just fine when querying the queue status. It is just these two queues that are an issue.
I ran the following commands against the queue to display authorizations currently set. The result was interesting.
Code: |
dspmqaut -m TCI005 -n 'IBMQREP.SPILL.MODELQ.0.14.3' -t queue -g mqbrowse |
Displays...........
AMQ7085: Object IBMQREP.SPILL.MODELQ.0.14.3, type queue not found.
Code: |
dspmqaut -m TCI005 -n 'IBMQREP.SPILL.MODELQ.0.14.3' -t queue -g mqbrowse |
Displays...........
profile: IBMQREP.SPILL.MODELQ.**
object type: queue
entity: mqbrowse
entity type: group
authority: inq dsp
- - - - - - - -
profile: **
object type: queue
entity: mqbrowse
entity type: group
authority: inq dsp
Is the OAM Object catalog possible corrupt? I think not, or I would have much more extensive issues..........possibly |
|
Back to top |
|
 |
bruce2359 |
Posted: Wed Jan 27, 2016 8:29 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
smeunier wrote: |
... proof that the queues do exist, as expected that they would, since they are PERM DYNAMIC and the application is still running that created them.
|
No. Permanent dynamic queues MAY exist beyond the end of the app, but may be deleted by the application at MQCLOSE even if the application continues to run. _________________ 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 |
|
 |
smeunier |
Posted: Wed Jan 27, 2016 8:58 am Post subject: |
|
|
 Partisan
Joined: 19 Aug 2002 Posts: 305 Location: Green Mountains of Vermont
|
While not having been able to resolve the root issue with these PERM DYNAMIC queues, I consulted with the customer on the need to retain them. The QApply application created them during an initial database replication and marked them as in use and retained them. Even thought the were never used during the process. I request that they be removed from reference so I could delete them.
The queues have been deleted, so they are no longer an issue. Of course, neither is there an explanation(root cause) as to why this was occurring or a solution to resolve it.
At this time, I guess the problem is closed, but not resolved. I will have the opportunity to see if this issue re-occurs the next time the database is initially loaded and new DYNAMIC queues are created.
Thanks to everyone who provided input to this issue.  |
|
Back to top |
|
 |
|