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 » WebSphere Message Broker (ACE) Support » Messageflow threads

Post new topic  Reply to topic Goto page 1, 2  Next
 Messageflow threads « View previous topic :: View next topic » 
Author Message
Pats21
PostPosted: Thu Feb 26, 2009 4:58 am    Post subject: Messageflow threads Reply with quote

Disciple

Joined: 08 Sep 2006
Posts: 154

Hi All,

I have a query regarding the threads running for a messageflow.

I understand that each of the Execution Group created runs as a process and each of the messageflow deployed run as a thread under the execution group process. Each messageflow by default has one thread running. If the messageflow is reading message from an MQ queue, i.e. if it has a MQINPUT node as the starting node then we find that the IPPROC count on the queue is 1. We can increase the number of thread for each messageflow by using the property 'Additional Instances' present in the bar file that we use to deploy the messageflow.

However, I have a scenario that I cannot understand.
I have a messageflow with MQINPUT node and reading message from a queue. When I check the IPPROC on the queue it is 18. The value of 'Additional Instances' on the bar file that i used to deply the flow is '0'.
I checked the process that are running on the queue by checking the queue status and found that the process number is the same (which is basically the pid of the execution group) but there are different threads running under the same pid which have opened the queue.

Now I am not able to understand how there are more then one threads running on the same queue.

The queue is used by only one messageflow.

Kindly help me understand this and also let me know whether my understanding mentioned above is correct.

Also is it possible that the thread for the messageflow are hanging or waiting to be completed?

My environment details are:
MB version 5 CDS07, MQ v5.3, DB2 v8.1 and all running on Solaris.

Regards,
Pats ...
Back to top
View user's profile Send private message
Gaya3
PostPosted: Thu Feb 26, 2009 8:22 am    Post subject: Reply with quote

Jedi

Joined: 12 Sep 2006
Posts: 2493
Location: Boston, US

doesn't know the proper answer for this

you can verify the qmgr logs, broker logs etc

I would rather suggest you to upgrade MQ to V6 and MB to V6.1

_________________
Regards
Gayathri
-----------------------------------------------
Do Something Before you Die
Back to top
View user's profile Send private message
mqjeff
PostPosted: Thu Feb 26, 2009 8:39 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Are you sure all the IPPROCs are from Broker?

Are you sure you only have one instance of one flow deployed, with one MQInput node that is pointed at this queue?
Back to top
View user's profile Send private message
MQEnthu
PostPosted: Fri Feb 27, 2009 12:50 am    Post subject: Reply with quote

Partisan

Joined: 06 Oct 2008
Posts: 329
Location: India

stop the message flow and check the IPPROCS of the queue..

And are you sure that the other flows in that execution group are not reading from that queue?
_________________
-----------------------------------------------
It is good to remember the past,
but don't let past capture your future
Back to top
View user's profile Send private message
Pats21
PostPosted: Tue Mar 03, 2009 5:50 am    Post subject: Reply with quote

Disciple

Joined: 08 Sep 2006
Posts: 154

Gayathri - Yes, we have already starting moving to MBv6.1.

I checked on the queue and all the applications that have opened the queue are threads from broker and yes there is only one message flow running on this queue.
Back to top
View user's profile Send private message
Tibor
PostPosted: Tue Mar 03, 2009 6:55 am    Post subject: Reply with quote

Grand Master

Joined: 20 May 2001
Posts: 1033
Location: Hungary

Please post the output of this command:
display qstatus(...) type(handle) all
Back to top
View user's profile Send private message
mqjeff
PostPosted: Tue Mar 03, 2009 7:07 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Tibor wrote:
Please post the output of this command:
display qstatus(...) type(handle) all


Tibor - that will only show you that some EG has a queue open, not which flow in which EG has it open.
Back to top
View user's profile Send private message
Tibor
PostPosted: Tue Mar 03, 2009 7:35 am    Post subject: Reply with quote

Grand Master

Joined: 20 May 2001
Posts: 1033
Location: Hungary

mqjeff wrote:
Tibor wrote:
Please post the output of this command:
display qstatus(...) type(handle) all


Tibor - that will only show you that some EG has a queue open, not which flow in which EG has it open.

Jeff, I'm not sure there are no other application connected to this queue. But this output contents PIDs and TIDs that's why I thought it would be interesting.
Back to top
View user's profile Send private message
kamy
PostPosted: Tue Mar 03, 2009 10:30 am    Post subject: Reply with quote

Novice

Joined: 26 Oct 2001
Posts: 21

How about the putting application, i.e. what is writing to the queue? Is it closing the relevant connections..
Back to top
View user's profile Send private message Send e-mail
Pats21
PostPosted: Wed Mar 04, 2009 6:41 am    Post subject: Reply with quote

Disciple

Joined: 08 Sep 2006
Posts: 154

Hi All,

Here is the output of the "dis(qname) type(handle) all" command.
You can see that the PID is the same, however the TID is different.

Also I have checked the process id on the machine .. and it is the DataFlowEngine

******************
AMQ8450: Display queue status details.
QUEUE(INQUEUE) PID(6565)
APPLTAG(DataFlowEngine) TID(16)
APPLTYPE(USER) CHANNEL()
CONNAME() BROWSE(NO)
INPUT(SHARED) INQUIRE(YES)
OUTPUT(NO) SET(NO)
USERID(wbiuser)
AMQ8450: Display queue status details.
QUEUE(INQUEUE) PID(6565)
APPLTAG(DataFlowEngine) TID(20)
APPLTYPE(USER) CHANNEL()
CONNAME() BROWSE(NO)
INPUT(SHARED) INQUIRE(YES)
OUTPUT(NO) SET(NO)
USERID(wbiuser)
AMQ8450: Display queue status details.
QUEUE(INQUEUE) PID(6565)
APPLTAG(DataFlowEngine) TID(21)
APPLTYPE(USER) CHANNEL()
CONNAME() BROWSE(NO)
INPUT(SHARED) INQUIRE(YES)
OUTPUT(NO) SET(NO)
USERID(wbiuser)
AMQ8450: Display queue status details.
QUEUE(INQUEUE) PID(6565)
APPLTAG(DataFlowEngine) TID(23)
APPLTYPE(USER) CHANNEL()
CONNAME() BROWSE(NO)
INPUT(SHARED) INQUIRE(YES)
OUTPUT(NO) SET(NO)
USERID(wbiuser)
AMQ8450: Display queue status details.
QUEUE(INQUEUE) PID(6565)
APPLTAG(DataFlowEngine) TID(27)
APPLTYPE(USER) CHANNEL()
CONNAME() BROWSE(NO)
INPUT(SHARED) INQUIRE(YES)
OUTPUT(NO) SET(NO)
USERID(wbiuser)
AMQ8450: Display queue status details.
QUEUE(INQUEUE) PID(6565)
APPLTAG(DataFlowEngine) TID(3
APPLTYPE(USER) CHANNEL()
CONNAME() BROWSE(NO)
INPUT(SHARED) INQUIRE(YES)
OUTPUT(NO) SET(NO)
USERID(wbiuser)
AMQ8450: Display queue status details.
QUEUE(INQUEUE) PID(6565)
APPLTAG(DataFlowEngine) TID(31)
APPLTYPE(USER) CHANNEL()
CONNAME() BROWSE(NO)
INPUT(SHARED) INQUIRE(YES)
OUTPUT(NO) SET(NO)
USERID(wbiuser)
AMQ8450: Display queue status details.
QUEUE(INQUEUE) PID(6565)
APPLTAG(DataFlowEngine) TID(42)
APPLTYPE(USER) CHANNEL()
CONNAME() BROWSE(NO)
INPUT(SHARED) INQUIRE(YES)
OUTPUT(NO) SET(NO)
USERID(wbiuser)
AMQ8450: Display queue status details.
QUEUE(INQUEUE) PID(6565)
APPLTAG(DataFlowEngine) TID(44)
APPLTYPE(USER) CHANNEL()
CONNAME() BROWSE(NO)
INPUT(SHARED) INQUIRE(YES)
OUTPUT(NO) SET(NO)
USERID(wbiuser)
AMQ8450: Display queue status details.
QUEUE(INQUEUE) PID(6565)
APPLTAG(DataFlowEngine) TID(51)
APPLTYPE(USER) CHANNEL()
CONNAME() BROWSE(NO)
INPUT(SHARED) INQUIRE(YES)
OUTPUT(NO) SET(NO)
USERID(wbiuser)
AMQ8450: Display queue status details.
QUEUE(INQUEUE) PID(6565)
APPLTAG(DataFlowEngine) TID(69)
APPLTYPE(USER) CHANNEL()
CONNAME() BROWSE(NO)
INPUT(SHARED) INQUIRE(YES)
OUTPUT(NO) SET(NO)
USERID(wbiuser)
AMQ8450: Display queue status details.
QUEUE(INQUEUE) PID(6565)
APPLTAG(DataFlowEngine) TID(74)
APPLTYPE(USER) CHANNEL()
CONNAME() BROWSE(NO)
INPUT(SHARED) INQUIRE(YES)
OUTPUT(NO) SET(NO)
USERID(wbiuser)
AMQ8450: Display queue status details.
QUEUE(INQUEUE) PID(6565)
APPLTAG(DataFlowEngine) TID(77)
APPLTYPE(USER) CHANNEL()
CONNAME() BROWSE(NO)
INPUT(SHARED) INQUIRE(YES)
OUTPUT(NO) SET(NO)
USERID(wbiuser)
AMQ8450: Display queue status details.
QUEUE(INQUEUE) PID(6565)
APPLTAG(DataFlowEngine) TID(81)
APPLTYPE(USER) CHANNEL()
CONNAME() BROWSE(NO)
INPUT(SHARED) INQUIRE(YES)
OUTPUT(NO) SET(NO)
USERID(wbiuser)
AMQ8450: Display queue status details.
QUEUE(INQUEUE) PID(6565)
APPLTAG(DataFlowEngine) TID(82)
APPLTYPE(USER) CHANNEL()
CONNAME() BROWSE(NO)
INPUT(SHARED) INQUIRE(YES)
OUTPUT(NO) SET(NO)
USERID(wbiuser)
AMQ8450: Display queue status details.
QUEUE(INQUEUE) PID(6565)
APPLTAG(DataFlowEngine) TID(96)
APPLTYPE(USER) CHANNEL()
CONNAME() BROWSE(NO)
INPUT(SHARED) INQUIRE(YES)
OUTPUT(NO) SET(NO)
USERID(wbiuser)
AMQ8450: Display queue status details.
QUEUE(INQUEUE) PID(6565)
APPLTAG(DataFlowEngine) TID(9
APPLTYPE(USER) CHANNEL()
CONNAME() BROWSE(NO)
INPUT(SHARED) INQUIRE(YES)
OUTPUT(NO) SET(NO)
USERID(wbiuser)
AMQ8450: Display queue status details.
QUEUE(INQUEUE) PID(6565)
APPLTAG(DataFlowEngine) TID(10)
APPLTYPE(USER) CHANNEL()
CONNAME() BROWSE(NO)
INPUT(SHARED) INQUIRE(YES)
OUTPUT(NO) SET(NO)
USERID(wbiuser)




ps -ef | grep 6565
wbiuser 6565 6550 0 Dec 22 ? 6:04 DataFlowEngine TSTBRK 40aa0851-1101-0000-0080-8395ff6de5ba default 1
wbiuser 4738 3666 0 16:35:48 pts/2 0:00 grep 6565


******************

Also we are receiving message onto this queue from a remote queue on a different QM and which is configured to put message on this queue. So basically the receiver channel is the one that puts the message onto this queue.
Back to top
View user's profile Send private message
kamy
PostPosted: Wed Mar 04, 2009 9:06 am    Post subject: Reply with quote

Novice

Joined: 26 Oct 2001
Posts: 21

Pat,
Question - Does the message-flow display similar behavior across environments, (test / production)

If the flow is not running in production - I would kill the process by issuing a kill-9 and observe.

Regards
- Kamy
Back to top
View user's profile Send private message Send e-mail
Tibor
PostPosted: Wed Mar 04, 2009 11:53 pm    Post subject: Reply with quote

Grand Master

Joined: 20 May 2001
Posts: 1033
Location: Hungary

kamy wrote:
If the flow is not running in production - I would kill the process by issuing a kill-9 and observe.

I don't think it would be a good idea (killing the DataFlowEngine process) because in this case the bipservice will restart it automatically.
Back to top
View user's profile Send private message
kamy
PostPosted: Thu Mar 05, 2009 3:48 am    Post subject: Reply with quote

Novice

Joined: 26 Oct 2001
Posts: 21

True, but it typically starts 1 thread.
Back to top
View user's profile Send private message Send e-mail
fjb_saper
PostPosted: Thu Mar 05, 2009 3:50 am    Post subject: Reply with quote

Grand High Poobah

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

Make sure you don't have some kind of loop in one of the flows in the EG.
Looks to me like you might have some loop with a get node that does not release the connection to the queue but builds a new one every time?
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Tibor
PostPosted: Thu Mar 05, 2009 4:03 am    Post subject: Reply with quote

Grand Master

Joined: 20 May 2001
Posts: 1033
Location: Hungary

kamy wrote:
True, but it typically starts 1 thread.
No, it starts as many thread as the number of input connectors.
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 » WebSphere Message Broker (ACE) Support » Messageflow threads
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.