ctdb/tcpip: duplicate connections?

Peter Somogyi psomogyi at gamax.hu
Tue Feb 13 17:47:25 GMT 2007


Hi Tridge,

Currently I'm integrating ib into ctdb and noticed the following (=> I'm 
unsure how to connect logically a transport connection and node):

I suspect you're making duplicate tcp/ip connections.
I mean that you make a separate tcp/ip connection from all the N (=here 2) 
nodes to each other:

127.0.0.1:9001
127.0.0.2:9001

For infiniband the same model is a sure redundancy (a connection is duplex) 
and waste of resources (2x). Of course, in ib it's also possible that you can 
have 2 connections for a node (1 for send + 1 for receive).

For accept()-like functionality in ib you get a different connection. For 
tcpip's accept() I suspect you also get a different fd...

If yes: after you receive a message in ctdb_recv_pkt, in ctdb_queue_packet you 
will answer on a different tcpip connection (different fd?)...

My questions:
- is it intended?
- will it change in the future?
- wouldn't be better to answer to a request on the same connection (like in a 
normal client-server scenario)?

One notice: I'm still missing a node removal scenario... I mean e.g. can't 
find ctdb_tcp_node_disconnect. For ib it's ready and tested.

Peter


More information about the samba-technical mailing list