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