[Pvfs2-developers] Re: the halloween bug fixed

Scott Atchley atchley at myri.com
Tue Oct 9 08:42:36 EDT 2007


On Oct 8, 2007, at 2:50 PM, Sam Lang wrote:

>> I am not sure what you are proposing that  
>> bmi_method_addr_forget_callback() do.
>
> bmi_method_addr_reg_callback is called at mx.c:2290, in icon_ack,  
> where peer->mxp_exist is set to 1.  It doesn't look like that  
> variable is used (checked or set) anywhere else.

Correct. This is used on the server only and is used to prevent  
bmi_mx to register the same client twice.

> Does cleanup/shutdown of that peer ever occur?

Cleanup (freeing of data structures, etc.) only occurs at the  
direction of BMI via BMI_set_info(DROP_ADDR).

If the client stops communicating and the server has no outstanding  
requests posted, the client's status will forever remain  
BMX_PEER_READY (i.e. connected).

If the client stops communicating and the server has outstanding  
requests, those requests will time out and the peer status will be  
changed to BMX_PEER_DISCONNECT. The server will maintain the various  
data structures (128 bytes plus the lengths of the peername, the  
mx:// URI, and the hostname).

Is it this case that you want the BMI method to notify BMI with  
bmi_method_addr_forget_callback? Or in both cases?

Assuming the client is gone forever and assuming that it disappeared  
unexpectedly (the server had pending requests), then this will free  
the 128+ bytes in bmi_mx used for that client.

When a client intends to stop communicating with a server, does it  
send some kind of goodbye message to the server? If so, does the  
server call BMI_set_info(DROP_ADDR)?

> Also, is it possible for the same client node to appear as multiple  
> different peers to the server node?  It sounds like the answer is  
> no, but I just want to make sure.
>
> -sam

You are correct.

Scott


More information about the Pvfs2-developers mailing list