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 IndexGeneral IBM MQ Support2035 with MCAUSER and OAM set correctly

Post new topicReply to topic Goto page 1, 2  Next
2035 with MCAUSER and OAM set correctly View previous topic :: View next topic
Author Message
kd
PostPosted: Thu Aug 10, 2006 2:05 am Post subject: 2035 with MCAUSER and OAM set correctly Reply with quote

Novice

Joined: 10 Aug 2006
Posts: 19

Help!

I've been searching this forum for similar issues but nothing seems to help me. Here's my problem:

I have MQ5.3.11 on Solaris 9, I have a RCVR channel with the MCAUSER set as test1, I also have a local solaris user of the same name, not in the mqm group. I have a local queue called QUEUE1. I have used OAM to set up the necessary permissions - the output of dspmqaut for that user and queue is as follows:

get
browse
put
inq
set
crt
dlt
chg
dsp
passid
passall
setid
setall
clr

The output of dspmqaut for the user and queue manager is:

inq
connect

Whenever I change the OAM permissions I always run refresh security. Sending a message from a remote QM down that channel results in the following on my local QM logs:

----- amqrccca.c : 883 --------------------------------------------------------
08/10/06 09:40:28
AMQ9002: Channel 'MYRCVR' is starting.

EXPLANATION:
Channel 'MYRCVR' is starting.
ACTION:
None.
-------------------------------------------------------------------------------
08/10/06 09:40:28
AMQ9565: No dead-letter queue defined.

EXPLANATION:
The queue manager 'MYQMGR' does not have a defined dead-letter queue.
ACTION:
Either correct the problem that caused the program to try and write a message
to the dead-letter queue or create a dead-letter queue for the queue manager.
----- amqrmmqa.c : 334 --------------------------------------------------------
08/10/06 09:40:28
AMQ9599: Program could not open queue manager object.

EXPLANATION:
The attempt to open either the queue or queue manager object
'QUEUE1' on queue manager 'MYQMGR' by user 'test1'
failed with reason code 2035.
ACTION:
Ensure that the queue is available and retry the operation. If the message is
from a remote Queue Manager, check the Message Channel Agent User Identifier
has the correct authority.
----- amqrmmqa.c : 780 --------------------------------------------------------
08/10/06 09:40:28
AMQ9999: Channel program ended abnormally.

EXPLANATION:
Channel program 'MYRCVR' ended abnormally.
ACTION:
Look at previous error messages for channel program 'MYRCVR' in
the error files to determine the cause of the failure.

-------------------------------------------------------------------------------------

I don't have a DEADQ, but I don't want one either....

On the sender side, the AMQ9506 error just says the remote QM did not accept last batch of msgs....

What am I doing wrong? I can't think of anything else - I've even restarted the QM to no avail...

Thanks in advance!
Back to top
View user's profile Send private message
Nigelg
PostPosted: Thu Aug 10, 2006 2:20 am Post subject: Reply with quote

Grand Master

Joined: 02 Aug 2004
Posts: 1046

Enable qmgr authority events, and inspect the msgs written to the auth event queue.
_________________
MQSeries.net helps those who help themselves..
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Aug 10, 2006 2:22 am Post subject: Re: 2035 with MCAUSER and OAM set correctly Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

kd wrote:


I don't have a DEADQ, but I don't want one either....



Why on Earth not?

Also, what's the design rational for setting MCAUSER in the RCVR (just for my interest)?

You might want to consider turning security tracing on to get more details of exactly what check is being made.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
kd
PostPosted: Thu Aug 10, 2006 2:42 am Post subject: Reply with quote

Novice

Joined: 10 Aug 2006
Posts: 19

Nigelg wrote:
Enable qmgr authority events, and inspect the msgs written to the auth event queue.


Authority events were off, I switched them on and get the same after running setmqaut again and refreshing security. QMGR details:

1 : dis qmgr all
AMQ8408: Display Queue Manager details.
DESCR( ) DEADQ( )
DEFXMITQ( ) CHADEXIT( )
CLWLEXIT( ) CLWLDATA( )
REPOS( ) REPOSNL( )
SSLKEYR()
SSLCRLNL( ) SSLCRYP( )
COMMANDQ(SYSTEM.ADMIN.COMMAND.QUEUE) QMNAME(MYQMGR)
CRDATE(2003-08-05) CRTIME(11.01.09)
ALTDATE(2006-08-10) ALTTIME(10.29.44)
QMID(MYQMGR_2003-08-05_11.01.09)
TRIGINT(999999999) MAXHANDS(256)
MAXUMSGS(10000) AUTHOREV(ENABLED)
INHIBTEV(DISABLED) LOCALEV(DISABLED)
REMOTEEV(DISABLED) PERFMEV(DISABLED)
STRSTPEV(ENABLED) CHAD(DISABLED)
CHADEV(DISABLED) CLWLLEN(100)
MAXMSGL(4194304) CCSID(819)
MAXPRTY(9) CMDLEVEL(530)
PLATFORM(UNIX) SYNCPT
DISTL(YES)

Any more params needing enabling?

A bit more info on what happens: when the message is placed on the channel at the other end, it goes into retrying state and I get UNCOMMITTED messages, I resolve the channel (backout) and start again after making changes again.

Also, my SYSTEM.AUTH.DATA.QUEUE has 233 messages on it since day one, nothing new on it today though...

Thanks again...
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Aug 10, 2006 2:51 am Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

So what's on the event queue after enabling events?

The reason your channel is going into retry is because the message can't be delivered to the remote queue manager. If you define a dead letter queue to which these can be delivered then this will fix your channel issue. Again I ask why you don't want a DLQ when it is intended to prevent exactly this issue?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
kd
PostPosted: Thu Aug 10, 2006 3:00 am Post subject: Reply with quote

Novice

Joined: 10 Aug 2006
Posts: 19

Vitor wrote:
Again I ask why you don't want a DLQ when it is intended to prevent exactly this issue?


Having a DEADQ doesn't prevent the issue, it just hides it. I'll still have a problem with not being able to write to the correct queue. Rather than having a DEADQ I want to be able to fix the original problem.

Contents of event queue are from yesterday, nothing new. However from my testing yesterday, the newest item on the queue contains a list of users/groups that have been given permission to my queue, or in mqm's group...

Thanks
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Aug 10, 2006 3:11 am Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Have you checked whether the target queue is full or the target queue manager just too busy with some batch to accept another UOW ?

Have you checked there is no seqnum mismatch on the channel?

Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Vitor
PostPosted: Thu Aug 10, 2006 3:14 am Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

kd wrote:

Having a DEADQ doesn't prevent the issue, it just hides it. I'll still have a problem with not being able to write to the correct queue. Rather than having a DEADQ I want to be able to fix the original problem.



And I'm not saying that the problem doesn't need to be fixed, or that having a DLQ will fix it. What I'm trying to understand is why you don't want have a DLQ as a general principle. It's common practice to have one as it prevents things like having to manually resolve channels. Also IMHO the DLQ doesn't hide issues, it highlights them. Because nothing should ever go there if you set it up with a TRIGGER(FIRST) it can provide an immediate alert of a problem.

Moving back to your problem (rather than this abstract design issue - hey, it's your queue manager, you don't want a DLQ don't have one ), there's no authority event for the 2035 or even the channel starting? Do you get an event if you connect locally with a client (or similar)?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
kd
PostPosted: Thu Aug 10, 2006 3:29 am Post subject: Reply with quote

Novice

Joined: 10 Aug 2006
Posts: 19

Vitor wrote:
there's no authority event for the 2035 or even the channel starting? Do you get an event if you connect locally with a client (or similar)?


I'm not sure I'm looking at the right queue, if I look at the SYSTEM.ADMIN.QMGR.EVENT queue instead, I do see events every time I try to receive.

Return code I'm not sure of either - the message on the event queue contains the name of my local queue, plus the name of queue manager, plus username, then a bunch of weird characters that don't tell me anything

Unfortunately I can't connect locally as the user in my MCAUSER field as it's a 'dummy' account (no passwd, default shell is /bin/true), I don't think this will effect MQ though...

Also, target queue queue is empty, and channel seqnum is fine, not much else is going on in the QMGR....
Back to top
View user's profile Send private message
mvic
PostPosted: Thu Aug 10, 2006 3:37 am Post subject: Reply with quote

Jedi

Joined: 09 Mar 2004
Posts: 2080

kd wrote:
the message on the event queue contains the name of my local queue, plus the name of queue manager, plus username, then a bunch of weird characters that don't tell me anything

It could be that the important information is in the "weird characters". Probably they are not characters, but binary data. Read further at http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/topic/com.ibm.mq.csqzax.doc/evmssf.htm
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Aug 10, 2006 3:39 am Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

kd wrote:

I'm not sure I'm looking at the right queue, if I look at the SYSTEM.ADMIN.QMGR.EVENT queue instead, I do see events every time I try to receive.


The QMGR.EVENT queue is, logically enough, where the events go

kd wrote:

Return code I'm not sure of either - the message on the event queue contains the name of my local queue, plus the name of queue manager, plus username, then a bunch of weird characters that don't tell me anything


The weird characters are the packed decimal format numbers. You'll find the format in the documentation.

kd wrote:

Unfortunately I can't connect locally as the user in my MCAUSER field as it's a 'dummy' account (no passwd, default shell is /bin/true), I don't think this will effect MQ though...


What about connecting as another user (like mqm)? It should still trigger an event. Also try defing and authorising another user id and use that.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Nigelg
PostPosted: Thu Aug 10, 2006 3:39 am Post subject: Reply with quote

Grand Master

Joined: 02 Aug 2004
Posts: 1046

Enabling the AUTHOREV attribute will not fix the issue, it will provide diagnostic information about the insufficient authority.
Inspect the auth event queue before and after a test, and post a browse (amqsbcg output) of any msgs added to the queue during the test.
The queue to look at is SYSTEM.ADMIN.QMGR.EVENT.
_________________
MQSeries.net helps those who help themselves..
Back to top
View user's profile Send private message
kd
PostPosted: Thu Aug 10, 2006 3:48 am Post subject: Reply with quote

Novice

Joined: 10 Aug 2006
Posts: 19

Nigelg wrote:

Inspect the auth event queue before and after a test, and post a browse (amqsbcg output) of any msgs added to the queue during the test.
The queue to look at is SYSTEM.ADMIN.QMGR.EVENT.


Here it is, to confirm, GMAUK.QILNESP1.RCV.MINT is my local queue, mqgas is the local user that's in my MCAUSER, and qmgr is QM.GMAUKT00001 (I hobbled them before first post for clarity):

Code:


  StrucId  : 'MD  '  Version : 2
  Report   : 0  MsgType : 8
  Expiry   : -1  Feedback : 0
  Encoding : 273  CodedCharSetId : 819
  Format : 'MQEVENT '
  Priority : 0  Persistence : 0
  MsgId : X'414D5120514D2E474D41554B5430303044DA184820051302'
  CorrelId : X'000000000000000000000000000000000000000000000000'
  BackoutCount : 0
  ReplyToQ       : '                                                '
  ReplyToQMgr    : 'QM.GMAUKT00001                                  '
  ** Identity Context
  UserIdentifier : '            '
  AccountingToken :
   X'0000000000000000000000000000000000000000000000000000000000000000'
  ApplIdentityData : '                                '
  ** Origin Context
  PutApplType    : '7'
  PutApplName    : 'QM.GMAUKT00001              '
  PutDate  : '20060810'    PutTime  : '11454043'
  ApplOriginData : '    '

  GroupId : X'000000000000000000000000000000000000000000000000'
  MsgSeqNumber   : '1'
  Offset         : '0'
  MsgFlags       : '0'
  OriginalLength : '-1'

****   Message      ****

 length - 300 bytes

00000000:  0000 0007 0000 0024 0000 0001 0000 002C '.......$.......,'
00000010:  0000 0001 0000 0001 0000 0001 0000 07F3 '...............ó'
00000020:  0000 0007 0000 0004 0000 0044 0000 07DF '...........D...ß'
00000030:  0000 0000 0000 0030 514D 2E47 4D41 554B '.......0QM.GMAUK'
00000040:  5430 3030 3031 2020 2020 2020 2020 2020 'T00001          '
00000050:  2020 2020 2020 2020 2020 2020 2020 2020 '                '
00000060:  2020 2020 2020 2020 0000 0003 0000 0010 '        ........'
00000070:  0000 03FC 0000 0002 0000 0004 0000 0044 '...ü...........D'
00000080:  0000 07E0 0000 0000 0000 0030 474D 4155 '...à.......0GMAU'
00000090:  4B2E 5149 4C4E 4553 5031 2E52 4356 2E4D 'K.QILNESP1.RCV.M'
000000A0:  494E 5420 2020 2020 2020 2020 2020 2020 'INT             '
000000B0:  2020 2020 2020 2020 2020 2020 0000 0003 '            ....'
000000C0:  0000 0010 0000 03FE 0000 A810 0000 0004 '.......þ..¨.....'
000000D0:  0000 0020 0000 0BD1 0000 0000 0000 000C '... ...Ñ........'
000000E0:  6D71 6761 7320 2020 2020 2020 0000 0003 'mqgas       ....'
000000F0:  0000 0010 0000 0001 0000 0006 0000 0004 '................'
00000100:  0000 0030 0000 0BD0 0000 0000 0000 001C '...0...Ð........'
00000110:  616D 7172 6D70 7061 2020 2020 2020 2020 'amqrmppa        '
00000120:  2020 2020 2020 2020 2020 2020           '                '



Thanks again!
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Aug 10, 2006 4:04 am Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Quote:
Having a DEADQ doesn't prevent the issue, it just hides it. I'll still have a problem with not being able to write to the correct queue. Rather than having a DEADQ I want to be able to fix the original problem.
Having a DLQ will allow you to see the reason code: 2035 authorization error or 2085 typo in the queue name? 2087 typo in the rqmname on the remote queue or no default path on a multihop... etc... and all this is in the DLQ on the target / hop qmgr... Not on the sending one where the error might be (wrong qmgr /qname in remote queue...)

Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Nigelg
PostPosted: Thu Aug 10, 2006 5:44 am Post subject: Reply with quote

Grand Master

Joined: 02 Aug 2004
Posts: 1046

The event msg shows that the user does not have authority to open the queue with the supplied options, xA810.

This is equivalent to:
FAIL_IF_QUIESCING
BIND_NOT_FIXED
SET_ALL_CONTEXT
OUTPUT

When a queue is opened with the open option MQOO_SET_IDENTITY_CONTEXT (SET_ALL_CONTEXT above)
the set authority on the qmgr is syntactically required.

The solution is to grant +setall authority on the qmgr to the user:

setmqaut -m QMGR -t qmgr -p user +setall
_________________
MQSeries.net helps those who help themselves..
Back to top
View user's profile Send private message
Display posts from previous:
Post new topicReply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum IndexGeneral IBM MQ Support2035 with MCAUSER and OAM set correctly
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.