Are you totally sure that the servers are exiting before you restart them? PVFS uses the SO_REUSEADDR socket option which is supposed to avoid this problem in most cases.

-Phil

On 07/24/2011 01:47 AM, ??? wrote:
I made some small changes in the process of creating a file using pvfs2-touch . I change the state machine of create.sm in the sub-directory of src/server/create , but I just add a new state in the state machine , and the new state is just to post a request to another server and get a response from that server , for I want to test whether one MDS server could send message from another MDS server and get response from that MDS server later. The new state I added is just like the state of "create_setup_msgpair" in sys-create.sm, it is as follows :
state prelude
    {
        jump pvfs2_prelude_sm;
        success => opt_setup_msgpair;
        default => setup_final_response;
    }
    state opt_setup_msgpair
    {
         run setup_opt;
         success => opt_xfer_msgpair ;
         default => setup_final_response;
    }

    state opt_xfer_msgpair
    {
         jump pvfs2_msgpairarray_sm ;
         success => create_metafile ;
         default => setup_final_response;
    }
Then when I use the pvfs2-touch command to create a file , I can create a file successfully ,also the A MDS can send a Message to B MDS and get a right response from B successfully.(I just assume the two MDS server who want to communicate with each other is A and B , and A send a message to B , then B return a response to A using the callback functions. then I check the pvfs2-server.log to ensure A send message to B successfully and B returns right response to A ) The only problem now is that , when I want to restart the server A and server B , I can not complete it successfully, and got the error:PVFS_EADDRINUSE.
(This process is:
1. I first use "killall pvfs2-server" command to kill the server process in server A and server B , 2. then I just restart the two servers using "pvfs-server /etc/pvfs2-fs.conf" command) After executing the two commands , I look up the pvfs2-server.log in /tmp/pvfs2-server.log after restart the servers , and the contents in it is as follows : [D 07/24/2011 12:54:49] PVFS2 Server version 2.8.2-orangefs-experimental-20101012 starting. [E 07/24/2011 12:54:49] Error: BMI_sockio_bind_sock: Address already in use
[E 07/24/2011 12:54:49] Error: tcp_server_init() failure.
[E 07/24/2011 12:54:49] Error: BMI_initialize: Address already in use
[E 07/24/2011 12:54:49] Error: Could not initialize server interfaces; aborting.
[E 07/24/2011 12:54:49] Error: Could not initialize server; aborting.
[D 07/24/2011 12:55:20] PVFS2 Server version 2.8.2-orangefs-experimental-20101012 starting.
  So I want to know what reasons can lead to such errors ?
I also find that , if I start the server in the second time , I can start the server successfully(just as the last log record shown in the pvfs2-server.log)
      So can you help me ?


_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers


_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers

Reply via email to