X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/hpcvm.git/blobdiff_plain/21ced9062609ebd01b8937b54a8d5efbb9d4f7ba..9e53fd0b0fd58c90f1a55341f25f42426a520283:/src/and/hpcvm/Server.java diff --git a/src/and/hpcvm/Server.java b/src/and/hpcvm/Server.java index a822cf7..b703aa7 100644 --- a/src/and/hpcvm/Server.java +++ b/src/and/hpcvm/Server.java @@ -263,7 +263,8 @@ public class Server extends UnicastRemoteObject implements ServicesServer clients.get( i ).getStub().emergencyStop() ; clients.get( i ).getStub().stop() ; } catch (RemoteException e) { - e.printStackTrace(); + System.err.println( "Unable to send stop signal to " + clients.get( i ).getName() ) ; + e.printStackTrace() ; } } @@ -398,6 +399,7 @@ public class Server extends UnicastRemoteObject implements ServicesServer } catch( RemoteException e ) { System.err.println( "Unable to indicate to client to retrieve last save!" ) ; e.printStackTrace() ; + yield() ; } if( res == 0 ) @@ -425,6 +427,7 @@ public class Server extends UnicastRemoteObject implements ServicesServer } catch( RemoteException e ) { System.err.println( "Unable to set the new VM IP on the replacing client!" ) ; e.printStackTrace() ; + yield() ; } if( ok_new && ok_old ) @@ -527,10 +530,11 @@ public class Server extends UnicastRemoteObject implements ServicesServer // break ; // } // } - synchronized( counter ){ - counter.inc() ;} + synchronized( counter ) + { + counter.inc() ; + } - new Server.FaultManager( cl ).start() ; nb_disconnections_computing++ ; } else { @@ -577,6 +581,7 @@ public class Server extends UnicastRemoteObject implements ServicesServer } catch( RemoteException e ) { System.err.println( "Unable to invoke emergency stop signal on " + clients.get( i ).getName() ) ; e.printStackTrace() ; + yield() ; } } } @@ -596,16 +601,17 @@ public class Server extends UnicastRemoteObject implements ServicesServer counter.wait() ; } catch( InterruptedException e ) { e.printStackTrace() ; + yield() ; } } } for( int i = 0 ; i < applications.get( ind ).getComputingClients().size() ; i++ ) { - final ServicesClient sc = applications.get( ind ).getComputingClients().get( i ).getClient().getStub() ; - applications.get( ind ).getComputingClients().get( i ).setRestartOk( false ) ; + final ServicesClient sc = applications.get( ind ).getComputingClients().get( i ).getClient().getStub() ; + new Thread( new Runnable() { @Override @@ -615,6 +621,7 @@ public class Server extends UnicastRemoteObject implements ServicesServer sc.restartVMAfterCrash() ; } catch( RemoteException e ) { e.printStackTrace() ; + yield() ; } } } ).start() ; @@ -626,6 +633,7 @@ public class Server extends UnicastRemoteObject implements ServicesServer Thread.sleep( 2000 ) ; } catch( InterruptedException e ) { e.printStackTrace() ; + yield() ; } } } @@ -662,7 +670,8 @@ public class Server extends UnicastRemoteObject implements ServicesServer try { computingClients.get( i ).getClient().getStub().saveOk() ; } catch (RemoteException e) { - e.printStackTrace(); + System.err.println( "Unable to invoke the saveOk method on " + computingClients.get( i ).getClient().getName() ) ; + e.printStackTrace() ; } computingClients.get( i ).setSaveStatus( false ) ; } @@ -697,6 +706,7 @@ public class Server extends UnicastRemoteObject implements ServicesServer return 1 ; } + @Override public ArrayList startApplication( int _nb ) { @@ -727,8 +737,8 @@ public class Server extends UnicastRemoteObject implements ServicesServer try { startingClients.wait() ; - } catch (InterruptedException e) { - e.printStackTrace(); + } catch( InterruptedException e ) { + e.printStackTrace() ; } } @@ -756,8 +766,8 @@ public class Server extends UnicastRemoteObject implements ServicesServer } final int indice = i ; - new Thread( new Runnable(){ - + new Thread( new Runnable() + { @Override public void run() { @@ -765,7 +775,7 @@ public class Server extends UnicastRemoteObject implements ServicesServer try { res = clients.get( indice ).getStub().startVM( 0 ) ; } catch( RemoteException e ) { - e.printStackTrace(); + e.printStackTrace() ; } if( res == 0 )