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 » IBM MQ API Support » multi-process concurrent MQPUT but ended with ResonCode 2099

Post new topic  Reply to topic Goto page Previous  1, 2
 multi-process concurrent MQPUT but ended with ResonCode 2099 « View previous topic :: View next topic » 
Author Message
Vitor
PostPosted: Mon Apr 30, 2007 11:30 am    Post subject: Reply with quote

Grand High Poobah

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

andy840920 wrote:
it not failed with 2058 and that 2099 , why ?


Sorry, assumed the 2099 was a typo for 2009....
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
andy840920
PostPosted: Tue May 01, 2007 5:25 pm    Post subject: Reply with quote

Apprentice

Joined: 29 Apr 2007
Posts: 44

but why i re-connect , re-open MQPUT close and disconnect to the queue in every child process still return 2009
Back to top
View user's profile Send private message
Vitor
PostPosted: Tue May 01, 2007 11:37 pm    Post subject: Reply with quote

Grand High Poobah

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

andy840920 wrote:
but why i re-connect , re-open MQPUT close and disconnect to the queue in every child process still return 2009


Because you're still above the limit, as jefflowrey suggested? Or whatever circumstance caused the 2009 has not yet cleared?

It does tend to be a transient error, but some patience is required. For what it's worth, I tend to code 2009 handleing as 10 attempts 3 seconds apart before giving up and throwing an error.

Purely a personal thing, other error strategies are equally valid, etc, etc.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
andy840920
PostPosted: Wed May 02, 2007 1:56 am    Post subject: Reply with quote

Apprentice

Joined: 29 Apr 2007
Posts: 44

Vitor wrote:
andy840920 wrote:
but why i re-connect , re-open MQPUT close and disconnect to the queue in every child process still return 2009


Because you're still above the limit, as jefflowrey suggested? Or whatever circumstance caused the 2009 has not yet cleared?

It does tend to be a transient error, but some patience is required. For what it's worth, I tend to code 2009 handleing as 10 attempts 3 seconds apart before giving up and throwing an error.

Purely a personal thing, other error strategies are equally valid, etc, etc.
how to cleaned the 2009 error? but ResonCode is not produced at every MQPUT operation?
you are right. it is a transient error. but MQPUT no block write. if it's return 2009, i must try some times and sleep some seconds? how many times? how many seconds? i want every MQPUT are successful or at least next time.
Back to top
View user's profile Send private message
andy840920
PostPosted: Wed May 02, 2007 1:59 am    Post subject: Reply with quote

Apprentice

Joined: 29 Apr 2007
Posts: 44

by the way, how to know the queue can hold how many messages , one message's maximum size and the total size in my circumstance. thanks.
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed May 02, 2007 2:00 am    Post subject: Reply with quote

Grand High Poobah

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

andy840920 wrote:
by the way, how to know the queue can hold how many messages , one message's maximum size and the total size in my circumstance. thanks.


Display the queue's attributes. Each of the figures is such an attribute, except total size which can be calculated from current depth but may not be the actual size of the queue file (managed internally by the queue manager).
_________________
Honesty is the best policy.
Insanity is the best defence.


Last edited by Vitor on Wed May 02, 2007 2:05 am; edited 1 time in total
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed May 02, 2007 2:03 am    Post subject: Reply with quote

Grand High Poobah

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

andy840920 wrote:
i want every MQPUT are successful or at least next time.


Then you have a number of options:

1) Manage the number of connections & forked processes as jefflowrey suggested to stay under the limit;
2) Increase the maximum number of allowed connections (this will require the assistance of the administrator and has resource implications)
3) Use a bindings connection not a client one as I have indicated
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
andy840920
PostPosted: Wed May 02, 2007 7:37 am    Post subject: Reply with quote

Apprentice

Joined: 29 Apr 2007
Posts: 44

[quote="Vitor"]
andy840920 wrote:

3) Use a bindings connection not a client one as I have indicated

how to decide i used binding connection or others? use MQCNO_STANDARD_BINDING connect option? my application use MQCNO_HANDLE_SHARE_BLOCK connect option now. and i think MQCNO_HANDLE_SHARE_BLOCK is much fit my use. the fork circumstance.
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed May 02, 2007 7:52 am    Post subject: Reply with quote

Grand High Poobah

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

andy840920 wrote:

how to decide i used binding connection or others?


It depends on how your program is linked. If it's been linked with the client libraries it'll establish a client connection, if it's been linked with the sever libraries it'll create a server connection.

You'll find this explained in greater detail (along with suggested command line options) in the Application Programming Guide.

The options you mention are for other uses. Check the Application Programming Reference for full details.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
andy840920
PostPosted: Wed May 09, 2007 4:20 am    Post subject: Reply with quote

Apprentice

Joined: 29 Apr 2007
Posts: 44

Vitor wrote:
andy840920 wrote:

how to decide i used binding connection or others?


It depends on how your program is linked. If it's been linked with the client libraries it'll establish a client connection, if it's been linked with the sever libraries it'll create a server connection.

You'll find this explained in greater detail (along with suggested command line options) in the Application Programming Guide.

The options you mention are for other uses. Check the Application Programming Reference for full details.
i can't find MAXCHANNELS=n and MAXACTIVECHANNELS=n in my mq.ini
Quote:
#*******************************************************************#
#* Module Name: qm.ini *#
#* Type : WebSphere MQ queue manager configuration file *#
# Function : Define the configuration of a single queue manager *#
#* *#
#*******************************************************************#
#* Notes : *#
#* 1) This file defines the configuration of the queue manager *#
#* *#
#*******************************************************************#
ExitPath:
ExitsDefaultPath=/var/mqm/exits/
ExitsDefaultPath64=/var/mqm/exits64/
#* *#
#* *#
Log:
LogPrimaryFiles=3
LogSecondaryFiles=2
LogFilePages=1024
LogType=CIRCULAR
LogBufferPages=0
LogPath=/var/mqm/log/CIS/
LogWriteIntegrity=TripleWrite
Service:
Name=AuthorizationService
EntryPoints=13
ServiceComponent:
Service=AuthorizationService
Name=MQSeries.UNIX.auth.service
Module=/opt/mqm/lib/amqzfu
ComponentDataSize=0
===========================================================================
and the MQ version info
[mqm@cis bin]$ ./dspmqver
Name: WebSphere MQ
Version: 6.0.1.1
CMVC level: p600-101-060504
BuildType: IKAP - (Production)
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Wed May 09, 2007 4:23 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

If they aren't in the file, then they take the default values.

Which are documented in the System Administration Guide.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
andy840920
PostPosted: Wed May 09, 2007 4:29 am    Post subject: Reply with quote

Apprentice

Joined: 29 Apr 2007
Posts: 44

i found my program linked the libmqm.so not libmqm_r.so, but i don't know the lib is server or client. i think my program linked server lib.

but if my program re-connect and re-open in sub-process, of course, closed and disconnect the queue after MQPUT operation. the MQCONNX ended with 2059 at some times, but the QManage and Queue name can print at any time. only some times ended with it. i don't know why ?

should my program link libmqm_r.so library?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2 Page 2 of 2

MQSeries.net Forum Index » IBM MQ API Support » multi-process concurrent MQPUT but ended with ResonCode 2099
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.