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 » Does XMIT Queue / Channel ALGORITHM use FULL DUPLEX Socket?

Post new topic  Reply to topic
 Does XMIT Queue / Channel ALGORITHM use FULL DUPLEX Socket? « View previous topic :: View next topic » 
Author Message
lyntongrice
PostPosted: Sat Feb 04, 2012 9:00 am    Post subject: Does XMIT Queue / Channel ALGORITHM use FULL DUPLEX Socket? Reply with quote

Acolyte

Joined: 26 Sep 2010
Posts: 70

Hi there,

I am very curious what the algorithm is for a message going from a local queue to a remote queue via XMIT queue and channels.

I know about IN DOUBT messages, but what sort of logic does this distributed transaction take? I would assume a FULL DUPLEX socket connection meaning that there is a "bi-directional pipe" on the channel....

For those who do not know the term of "full duplex socket", here is the description of it:

"Sockets of type SOCK_STREAM are full-duplex byte streams, similar to pipes. They do not preserve record boundaries. A stream socket must be in a connected state before any data may be sent or received on it. A connection to another socket is created with a connect(2) call. Once connected, data may be transferred using read(2) and write(2) calls or some variant of the send(2) and recv(2) calls. When a session has been completed a close(2) may be performed. Out-of-band data may also be transmitted as described in send(2) and received as described in recv(2). "

http://linux.die.net/man/2/socket

So perhaps message 1 arrives in the XMIT queue and goes into the channel.....then it goes via TCP over the network to the "socket receiver", and once happily on the remote queue on the other side the "socket receiver" sends some sort of "ok" back along the same pipe, and once that "ok" comes back it is committed off the XMIT queue?

But now what about network breakdowns....and the "ok" response never comes back to the sender (local queue) side? Would both sides contiue to "resend" the messages until they gets some sort of response back?

Perhaps I am way off track here, but distributed computing / fault tolerance are very interesting topics and I just wanted to bounce it off the MQ experts out there....

Thanks for the help

Lynton
Back to top
View user's profile Send private message
Vitor
PostPosted: Sat Feb 04, 2012 11:05 am    Post subject: Re: Does XMIT Queue / Channel ALGORITHM use FULL DUPLEX Sock Reply with quote

Grand High Poobah

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

lyntongrice wrote:
I am very curious what the algorithm is for a message going from a local queue to a remote queue via XMIT queue and channels.


Clearly you mean from an object on the connected queue manager to an object on a different queue manager. However the terms "local queue" and "remote queue" have specific meanings in WMQ. You'll confuse yourself and others not using them.

lyntongrice wrote:
But now what about network breakdowns....and the "ok" response never comes back to the sender (local queue) side? Would both sides contiue to "resend" the messages until they gets some sort of response back?


That's not the side with the local queue (as I indicate above) and the channel will continue to attempt transmission (or not) in accordance with the channel parameters you've configured. It will then stop trying in accordance with the parameters you've configured.

The mechanisms in use are proprietory to the MCAs & one of the key selling features of WMQ.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Sat Feb 04, 2012 2:58 pm    Post subject: Re: Does XMIT Queue / Channel ALGORITHM use FULL DUPLEX Sock Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9472
Location: US: west coast, almost. Otherwise, enroute.

lyntongrice wrote:
I would assume a FULL DUPLEX socket connection meaning that there is a "bi-directional pipe" on the channel....

Yes, and no.

Messages flow in one direction only across a channel pair - from sender to receiver.

Message Channel Agents (MCAs) chat in both directions to negotiate settings at channel attach. MCAs also chat in both directions at start/end of batches to commit/backout messages, and to determine of all messages sent were received.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sat Feb 04, 2012 3:07 pm    Post subject: Re: Does XMIT Queue / Channel ALGORITHM use FULL DUPLEX Sock Reply with quote

Grand High Poobah

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

lyntongrice wrote:

But now what about network breakdowns....and the "ok" response never comes back to the sender side? Would both sides continue to "resend" the messages until they gets some sort of response back?


The channel goes into "in doubt" mode and you need to take the corresponding measures as described in the intercommunication manual.

_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
lyntongrice
PostPosted: Sun Feb 05, 2012 3:07 am    Post subject: Reply with quote

Acolyte

Joined: 26 Sep 2010
Posts: 70

Hi there,

Thanks for your answers, much appreciated

"The mechanisms in use are proprietory to the MCAs & one of the key selling features of WMQ."

- I was not trying to get the "internal algorithm", more just understand if it is a single channel between the sender and receiver....meaning how does the "ok response" go back to the sender....

From what I *perceive* now is that the MCA on either side will actually be a "socket sender AND socket receiver"......so the MCA 1 ("client") will send a message to the remote MCA 2 (server) over the channel....if message processed successfully at MCA 2, then MCA 2 ("client") sends a message back to MCA 1 ("server")....once that has been received the message is committed off the XMITQ on the sender side....

I may be wrong in my thoughts but that is how I understand it.

I wonder if the RESPONSE to the sender that the message has arrived successfully on the destination queue manager has to come back to the SENDER MCA before the next message can be sent from the sender side? Or do you think it is all async respones?

Thanks again for the answer, much appreciated

Lynton
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Sun Feb 05, 2012 6:05 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

Read this doc:
MD0C: WebSphere MQ - Keeping Channels Up and Running
http://www-01.ibm.com/support/docview.wss?uid=swg24006699
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
bruce2359
PostPosted: Sun Feb 05, 2012 6:25 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9472
Location: US: west coast, almost. Otherwise, enroute.

Also called for is a thorough reading of the WMQ Intercommunications manual (or InfoCenter equivalent).
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » Does XMIT Queue / Channel ALGORITHM use FULL DUPLEX Socket?
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.