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 » MCA threading and Context Environment

Post new topic  Reply to topic
 MCA threading and Context Environment « View previous topic :: View next topic » 
Author Message
RogerLacroix
PostPosted: Thu Sep 20, 2012 9:40 am    Post subject: MCA threading and Context Environment Reply with quote

Jedi Knight

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

All,

Ok, I have another strange problem with an MQ API Exit that I'll try to explain. The API Exit looks at the MQAXC Environment field to determine whether or not the MQ API call is done by an application or internal MQ process. The API Exit will not track/audit internal MQ processes unless a specific flag is set (uses the environment field to determine this). This is true except for the MCA (i.e. MQXE_MCA).

When a queue manager is started the MCA (amqrmppa) process has environment value of MQXE_MCA. When the user pushes thousands of messages onto the remote queue (i.e. XMIT queue) of the sending queue manager then receiving queue manager's MCA will start a second amqrmppa thread (standard stuff).

Here's the weird part, the "n" MCA thread has the environment field set to MQXE_OTHER and not MQXE_MCA.

To prove to the customer that it was not my code, I used the Sample API Exit (amqsaxe) to show the values. The environment field is on line # 26 of each trace.

Here is the top snippet from ApiTrace.17760306.5.log:
Code:
MQAPI Trace
 START                     2012-09-20  11:50:06          1348141806.484733
--------------------------------------------------------------------------
MQCONNX
 BEFORE                    2012-09-20  11:50:06          1348141806.501125
  PARMS
   ExitId:                 MQXT_API_EXIT
   ExitReason:             MQXR_BEFORE
   ExitResponse:           MQXCC_OK
   ExitResponse2:          MQXR2_DEFAULT_CONTINUATION
   Feedback:               MQFB_NONE
   APICallerType:          MQXACT_INTERNAL
   ExitUserArea:           110100ee0
          110100ee0:         00000001 10055C30 00000000 00000000  ......\0........
   ExitData:               18
   ExitInfoName:           SampleApiExit
   ExitPDArea:             110100f40
          110100f40:         20202020 20202020 20202020 20202020                 
          110100f50:         20202020 20202020 20202020 20202020                 
          110100f60:         20202020 20202020 20202020 20202020                 
   QMgrName:               MQA1                                       
   ExitChainAreaPtr:       0
   Hconfig:                1101110e8
   Function:               MQXF_CONNX
  CONTEXT
   Environment:            MQXE_MCA        <-- set correctly
   UserId:                 mqadm       
   SecurityId:
          110100fd8:         00000000 00000000 00000000 00000000  ................
          110100fe8:         00000000 00000000 00000000 00000000  ................
          110100ff8:         00000000 00000000                    ........       
   ConnectionName:         
   LongMCAUserIdLength:    0
   LongRemoteUserIdLength: 0
   ApplName:               amqrmppa
   ApplType:               MQAT_UNIX
   ProcessId:              17760306
   ThreadId:               5

And here is the top snippet from ApiTrace.17760306.7.log (the next MCA thread):
Code:
MQAPI Trace
 START                     2012-09-20  11:50:06          1348141806.556531
--------------------------------------------------------------------------
MQCONNX
 BEFORE                    2012-09-20  11:50:06          1348141806.573799
  PARMS
   ExitId:                 MQXT_API_EXIT
   ExitReason:             MQXR_BEFORE
   ExitResponse:           MQXCC_OK
   ExitResponse2:          MQXR2_DEFAULT_CONTINUATION
   Feedback:               MQFB_NONE
   APICallerType:          MQXACT_INTERNAL
   ExitUserArea:           11018be60
          11018be60:         00000001 10057FB0 00000000 00000000  ................
   ExitData:               18
   ExitInfoName:           SampleApiExit
   ExitPDArea:             11018bec0
          11018bec0:         20202020 20202020 20202020 20202020                 
          11018bed0:         20202020 20202020 20202020 20202020                 
          11018bee0:         20202020 20202020 20202020 20202020                 
   QMgrName:               MQA1                                       
   ExitChainAreaPtr:       0
   Hconfig:                1101a2e68
   Function:               MQXF_CONNX
  CONTEXT
   Environment:            MQXE_OTHER        <-- not set correctly
   UserId:                 mqadm       
   SecurityId:
          11018bf58:         00000000 00000000 00000000 00000000  ................
          11018bf68:         00000000 00000000 00000000 00000000  ................
          11018bf78:         00000000 00000000                    ........       
   ConnectionName:         
   LongMCAUserIdLength:    0
   LongRemoteUserIdLength: 0
   ApplName:               amqrmppa
   ApplType:               MQAT_UNIX
   ProcessId:              17760306
   ThreadId:               7

Maybe I'm crazy but shouldn't the environment value always be MQXE_MCA for each MCA thread? I just want to confirm with other people (hopefully some IBMers are reading this) before I ask the customer to open a PMR.

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
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » MCA threading and Context Environment
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.