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 » saveqmgr.linux fails with "Got bad PCF response message

Post new topic  Reply to topic Goto page 1, 2  Next
 saveqmgr.linux fails with "Got bad PCF response message « View previous topic :: View next topic » 
Author Message
skoesters
PostPosted: Tue Aug 04, 2009 5:09 am    Post subject: saveqmgr.linux fails with "Got bad PCF response message Reply with quote

Acolyte

Joined: 08 Jun 2008
Posts: 73

Hi,

i tried to save a qmgr config on RedHat Linux MQ 7 with the "saveqmgr.linux" tool.

i started it with

/opt/mqm/bin/saveqmgr.linux -m QM.BLA

then i get this:

SAVEQMGR V6.1.0
Compiled for Websphere MQ V7.0 on Jul 29 2008
Requesting attributes of the queue manager...
Writing Queue Manager definition to SAVEQMGR.TST.
Generating attributes for Websphere MQ Release 7.0.0
Generating code for platform UNIX
Requesting attributes of all authinfo objects...
Requesting attributes of all queues...
Requesting attributes of all channels...
Requesting attributes of all processes...
Requesting attributes of all namelists...
Requesting attributes of all listeners...
Requesting attributes of all services...
Requesting attributes of all topics...
Requesting attributes of all subscriptions...
Writing AuthInfo definitions to SAVEQMGR.TST.
Writing Queue definitions to SAVEQMGR.TST.
Skipping dynamic queue AMQ.MQEXPLORER.1299074414
Skipping dynamic queue SAVEQMGR.4A33A27A201E0302
Writing Channel definitions to SAVEQMGR.TST.
Writing Process definitions to SAVEQMGR.TST.
Writing Namelist definitions to SAVEQMGR.TST.
Writing Listener definitions to SAVEQMGR.TST.
Writing Service definitions to SAVEQMGR.TST.
Writing Topic definitions to SAVEQMGR.TST.
Writing Subscription definitions to SAVEQMGR.TST.
Got bad PCF response message
Type = 2
StrucLength = 36
Version = 1
Command = 176
MsgSeqNumber = 2
Control = 0
CompCode = 2
Reason = 2035
ParameterCount = 0
Processing Aborted, output file may be incomplete

this happens with all of my QMGRs.

Maybe one of you guys can help me.

Thanks in advanced
Sebastian
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Aug 04, 2009 5:20 am    Post subject: Reply with quote

Grand High Poobah

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

Make sure your process (saveqmgr) is running with mqm authority.

_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
skoesters
PostPosted: Tue Aug 04, 2009 5:22 am    Post subject: Reply with quote

Acolyte

Joined: 08 Jun 2008
Posts: 73

i use the tool as user "mqm".

now i again downloaded the latest MS03 but it didn´t help.
Back to top
View user's profile Send private message
skoesters
PostPosted: Tue Aug 04, 2009 5:25 am    Post subject: Reply with quote

Acolyte

Joined: 08 Jun 2008
Posts: 73

i think it was wrong to use the "normal" (32bit) version.

it´s a 64bit Server.

fyi:

i now also tried the 64bit version:

/opt/mqm/bin/saveqmgr64.linux -m QM.BLA

Compiled for Websphere MQ V7.0 on May 7 2009
SAVEQMGR V6.1.2
Requesting attributes of the queue manager...
Writing Queue Manager definition to SAVEQMGR.MQSC.
Generating attributes for Websphere MQ Release 7.0.0
Generating code for platform UNIX
Requesting attributes of all authinfo objects...
Requesting attributes of all queues...
Requesting attributes of all channels...
Requesting attributes of all processes...
Requesting attributes of all namelists...
Requesting attributes of all listeners...
Requesting attributes of all services...
Requesting attributes of all topics...
Requesting attributes of all subscriptions...
Writing AuthInfo definitions to SAVEQMGR.MQSC.
Writing Queue definitions to SAVEQMGR.MQSC.
Skipping dynamic queue AMQ.MQEXPLORER.1299074414
Skipping dynamic queue SAVEQMGR.4A33A27A201E1002
Writing Channel definitions to SAVEQMGR.MQSC.
Writing Process definitions to SAVEQMGR.MQSC.
Writing Namelist definitions to SAVEQMGR.MQSC.
Writing Listener definitions to SAVEQMGR.MQSC.
Writing Service definitions to SAVEQMGR.MQSC.
Writing Topic definitions to SAVEQMGR.MQSC.
Writing Subscription definitions to SAVEQMGR.MQSC.
Got bad PCF response message
Type = 2
StrucLength = 36
Version = 1
Command = 176
MsgSeqNumber = 2
Control = 0
CompCode = 2
Reason = 2035
ParameterCount = 0
Processing Aborted, output file may be incomplete


same problem
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Aug 04, 2009 5:25 am    Post subject: Reply with quote

Grand High Poobah

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

skoesters wrote:
i use the tool as user "mqm".

now i again downloaded the latest MS03 but it didn´t help.

Contact the person maintaining it. Should be in the doc.
Let Jeff know what's wrong. Supply as much detail to him as you can.

I am surprised however that you get a 2035 running as mqm...


_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
mqjeff
PostPosted: Tue Aug 04, 2009 5:27 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Hi, first off you're using 6.1.0. The most recent MS03 is 6.1.2.

Second off, I need you to verify something. Have you previously applied any MS03 produced MQSC files to the queue manager you are talking to?

There is a bug in MS03 earlier than 6.1.2 that puts the wrong default value into a few different attributes in Topic and Subscription objects. When this wrong default value is passed into runmqsc, and SYSTEM.BASE.TOPIC gets redefined, this ends up causing the command server to improperly return a 2035 even for users that are in mqm or are mqm.

You may need to recreate this queue manager from scratch, and edit your MQSC to recreate your objects to NOT include SYSTEM topics or subscriptions.
Back to top
View user's profile Send private message
skoesters
PostPosted: Tue Aug 04, 2009 5:37 am    Post subject: Reply with quote

Acolyte

Joined: 08 Jun 2008
Posts: 73

Hi Jeff,

i updated it a few posts before yours. I now use

SAVEQMGR V6.1.2

to answer your question:

yes i did.

i have had to re-install the server some month ago. Before that i saved all QMGRs, then i re-installed the Server and used the files from savegmgr to re-create my qmgrs.

is there any other way to save my currently running qmgrs? Its a little bit difficult to create them all again only by hand.

EDIT: fyi: i created all the saveqmgr files (before the re-install) with Version SAVEQMGR V6.1.0. Then i used this files to re-created the qmgrs, which worked.

thanks
Back to top
View user's profile Send private message
mqjeff
PostPosted: Tue Aug 04, 2009 6:03 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Hi Sebastian -
It looks like the correct thing to do is to do a DELETE and then a DEFINE on the following objects:
SYSTEM.BASE.TOPIC
SYSTEM.BROKER.DEFAULT.STREAM
SYSTEM.BROKER.DEFAULT.SUBPOINT
SYSTEM.DEFAULT.TOPIC

You can use the MS03 backup of these objects, provided you use the backup from 6.1.2 or otherwise ensure that the TOPICSTR does not have a space in it, that it is merely <parentheses><single-quote><single-quote><parentheses> ('').
Back to top
View user's profile Send private message
skoesters
PostPosted: Tue Aug 04, 2009 6:18 am    Post subject: Reply with quote

Acolyte

Joined: 08 Jun 2008
Posts: 73

Thanks Jeff,

only to ensure that i understood everything.

i should delete the objects you told me and then re-create them (let me guess: it´s not a good idea to do this, while the qmgr is in use?!).

"You can use the MS03 backup of these objects, provided you use the backup from 6.1.2...."

i only have backups created with 6.1.0.

the "SYSTEM.BASE.TOPIC" for example looks like this in my backup file:

DEFINE TOPIC ('SYSTEM.BASE.TOPIC') +
* ALTDATE (2009-01-16) +
* ALTTIME (10.46.0 +
TOPICSTR(' ') +
DESCR('Base topic for resolving attributes') +
CLUSTER(' ') +
DEFPRTY(0) +
DEFPSIST(NO) +
DEFPRESP(SYNC) +
MDURMDL('SYSTEM.DURABLE.MODEL.QUEUE') +
DURSUB(YES) +
PUB(ENABLED) +
SUB(ENABLED) +
MNDURMDL('SYSTEM.NDURABLE.MODEL.QUEUE') +
NPMSGDLV(ALLAVAIL) +
PMSGDLV(ALLDUR) +
PROXYSUB(FIRSTUSE) +
PUBSCOPE(ALL) +
SUBSCOPE(ALL) +
WILDCARD(PASSTHRU) +
REPLACE

can i use this to re-create the object?

you said: "otherwise ensure that the TOPICSTR does not have a space in it, that it is merely <parentheses><single-quote><single-quote><parentheses> ('')."

that looks ok for me (the 6.1.0 backup)

thanks
Back to top
View user's profile Send private message
mqjeff
PostPosted: Tue Aug 04, 2009 6:27 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

First off, you can't use DEFINE... REPLACE.

You have to use DELETE TOPIC and then DEFINE TOPIC.

Secondly, no, the 6.1.0 backup is incorrect. If you look very carefully at the file in a text editor, you will see that the TOPICSTR parameter is <parentheses><single-quote><space><single-quote><parentheses>.


This is the heart of the problem. It was not clear when I released MS03 6.1.0, the first version with support for MQ v7, that it was necessary to produce an empty string, rather than a string with a single blank space, for TOPICSTR and a few other parameters. There was nothing in the documentation that indicated that there should be a difference, nor that these particular parameters were special.

You should be able to edit a copy of your 6.1.0 backup file and remove the space, and add a "DELETE TOPIC" command, and then re-run that.
Back to top
View user's profile Send private message
skoesters
PostPosted: Tue Aug 04, 2009 6:46 am    Post subject: Reply with quote

Acolyte

Joined: 08 Jun 2008
Posts: 73

ok, so i have to do this? :

for example:

delete topic('SYSTEM.BASE.TOPIC')

then

DEFINE TOPIC ('SYSTEM.BASE.TOPIC') +
* ALTDATE (2009-01-16) +
* ALTTIME (10.46.0 +
TOPICSTR('') +
DESCR('Base topic for resolving attributes') +
CLUSTER(' ') +
DEFPRTY(0) +
DEFPSIST(NO) +
DEFPRESP(SYNC) +
MDURMDL('SYSTEM.DURABLE.MODEL.QUEUE') +
DURSUB(YES) +
PUB(ENABLED) +
SUB(ENABLED) +
MNDURMDL('SYSTEM.NDURABLE.MODEL.QUEUE') +
NPMSGDLV(ALLAVAIL) +
PMSGDLV(ALLDUR) +
PROXYSUB(FIRSTUSE) +
PUBSCOPE(ALL) +
SUBSCOPE(ALL) +
WILDCARD(PASSTHRU)


without the space in TOPICSTR (you was right...i looked in the wrong field) and without the "REPLACE" at the end?

this with all 4 objects.

Then it should be possible to create a new (working) backup with 6.1.2?

Sorry for the many questions, but my english is not the best so i sometimes have problems to understand everthing correct.

thanks
Back to top
View user's profile Send private message
mqjeff
PostPosted: Tue Aug 04, 2009 7:47 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Yes, that looks correct.

You may have to restart the qmgr after this is applied to clear the 2035, though. I'm not entirely clear on this.

To be clear, the only thing your backup is missing right now with 6.1.2 is SUBSCRIPTION objects.

You can rely that when MS03 says that it is "Writing X definitions" to the output for any given value of X (channel, queue, qmgr, topic) that it has completed writing everything that it has already said it was writing..

So your backup may be sufficient for what you need.

But your queue manager still has an issue, and you should still do the DELETE and DEFINEs.
Back to top
View user's profile Send private message
skoesters
PostPosted: Tue Aug 04, 2009 8:07 am    Post subject: Reply with quote

Acolyte

Joined: 08 Jun 2008
Posts: 73

i created a "DEF" file which i would start agains all qmgr´s on my system.

it would be great if could have a look at it before i run it:

Code:

DELETE TOPIC ('SYSTEM.BASE.TOPIC')

DEFINE TOPIC ('SYSTEM.BASE.TOPIC') +
* ALTDATE (2008-11-21) +
* ALTTIME (16.27.08) +
       TOPICSTR('') +
       DESCR('Base topic for resolving attributes') +
       CLUSTER(' ') +
       DEFPRTY(0) +
       DEFPSIST(NO) +
       DEFPRESP(SYNC) +
       MDURMDL('SYSTEM.DURABLE.MODEL.QUEUE') +
       DURSUB(YES) +
       PUB(ENABLED) +
       SUB(ENABLED) +
       MNDURMDL('SYSTEM.NDURABLE.MODEL.QUEUE') +
       NPMSGDLV(ALLAVAIL) +
       PMSGDLV(ALLDUR) +
       PROXYSUB(FIRSTUSE) +
       PUBSCOPE(ALL) +
       SUBSCOPE(ALL) +
       WILDCARD(PASSTHRU)

DELETE TOPIC ('SYSTEM.BROKER.DEFAULT.STREAM')

DEFINE TOPIC ('SYSTEM.BROKER.DEFAULT.STREAM') +
* ALTDATE (2008-11-21) +
* ALTTIME (16.27.09) +
       TOPICSTR('') +
       DESCR('Default stream for queued Pub/Sub interface') +
       CLUSTER(' ') +
       DEFPRTY(ASPARENT) +
       DEFPSIST(ASPARENT) +
       DEFPRESP(ASPARENT) +
       MDURMDL(' ') +
       DURSUB(ASPARENT) +
       PUB(ASPARENT) +
       SUB(ASPARENT) +
       MNDURMDL(' ') +
       NPMSGDLV(ASPARENT) +
       PMSGDLV(ASPARENT) +
       PROXYSUB(FIRSTUSE) +
       PUBSCOPE(ASPARENT) +
       SUBSCOPE(ASPARENT) +
       WILDCARD(BLOCK)

DELETE TOPIC ('SYSTEM.BROKER.DEFAULT.SUBPOINT')

DEFINE TOPIC ('SYSTEM.BROKER.DEFAULT.SUBPOINT') +
* ALTDATE (2008-11-21) +
* ALTTIME (16.27.09) +
       TOPICSTR('') +
       DESCR('Default RFH2 subscription point for queued Pub/Sub int-
erface') +
       CLUSTER(' ') +
       DEFPRTY(ASPARENT) +
       DEFPSIST(ASPARENT) +
       DEFPRESP(ASPARENT) +
       MDURMDL(' ') +
       DURSUB(ASPARENT) +
       PUB(ASPARENT) +
       SUB(ASPARENT) +
       MNDURMDL(' ') +
       NPMSGDLV(ASPARENT) +
       PMSGDLV(ASPARENT) +
       PROXYSUB(FIRSTUSE) +
       PUBSCOPE(ASPARENT) +
       SUBSCOPE(ASPARENT) +
       WILDCARD(BLOCK)

DELETE TOPIC ('SYSTEM.DEFAULT.TOPIC')

DEFINE TOPIC ('SYSTEM.DEFAULT.TOPIC') +
* ALTDATE (2008-11-21) +
* ALTTIME (16.27.08) +
       TOPICSTR('') +
       DESCR(' ') +
       CLUSTER(' ') +
       DEFPRTY(ASPARENT) +
       DEFPSIST(ASPARENT) +
       DEFPRESP(ASPARENT) +
       MDURMDL(' ') +
       DURSUB(ASPARENT) +
       PUB(ASPARENT) +
       SUB(ASPARENT) +
       MNDURMDL(' ') +
       NPMSGDLV(ASPARENT) +
       PMSGDLV(ASPARENT) +
       PROXYSUB(FIRSTUSE) +
       PUBSCOPE(ASPARENT) +
       SUBSCOPE(ASPARENT) +
       WILDCARD(PASSTHRU)


i also found a QUEUE that is named 'SYSTEM.BROKER.DEFAULT.STREAM'. Do i also have to delete it or only the TOPIC which is named 'SYSTEM.BROKER.DEFAULT.STREAM'?

If you give me your "ok" i will have a look if i could save my qmgrs after that with savegmgr.

Thanks a lot
Back to top
View user's profile Send private message
mqjeff
PostPosted: Tue Aug 04, 2009 8:41 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Yes, as far as I can say, that looks correct.

No, I do not believe that you need to delete the SYSTEM.BROKER.DEFAULT.STREAM Queue, just the Topic.
Back to top
View user's profile Send private message
skoesters
PostPosted: Tue Aug 04, 2009 8:45 am    Post subject: Reply with quote

Acolyte

Joined: 08 Jun 2008
Posts: 73

thanks very much.

i have to look when i can run the script. I will let you know if i have done it
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 » saveqmgr.linux fails with "Got bad PCF response message
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.