18-749 Team 3 - FTEX Checkpoint 4 - Real-time Fault Tolerant Baseline Implementation By Ernest Chan (eechan@andrew.cmu.edu) Yong Khong Chong (ykc@andrew.cmu.edu) Han Chun Lim (hanl@andrew.cmu.edu) Ahmad Imran Sulaiman (ais@andrew.cmu.edu) Yik Shing Yip (ysy@andrew.cmu.edu) ================================================================ 1. For the TA's (for easy grading) ================================================================ Please make sure no servers are running be using the script /afs/ece/class/ece749/public_html/teams-06/team3/ft-baseline-demo/project/scripts/killAllServers.sh a) Start the servers 1) source ./scripts/setClass.sh 2) source ./scripts/setVars.sh 3) cd /afs/ece/class/ece749/public_html/teams-06/team3/ft-baseline-demo/project 4) startAllServers.sh 5) allow 60 seconds for server to start b) Start Replication Manager 1) source ./scripts/setClass.sh 2) source ./scripts/setVars.sh 3) cd /afs/ece/class/ece749/public_html/teams-06/team3/ft-baseline-demo/project 4) ./runRM.sh c) (Optional) Check if the servers are running 1) source ./scripts/setClass.sh 2) source ./scripts/setVars.sh 3) cd /afs/ece/class/ece749/public_html/teams-06/team3/ft-baseline-demo/project 4) ./runRMd.sh d) Start Client 1) source ./scripts/setClass.sh 2) source ./scripts/setVars.sh 3) cd /afs/ece/class/ece749/public_html/teams-06/team3/ft-baseline-demo/project 4) ./runClient.sh e) Run Fault Injector 1) ./runPK.sh 2500 -2500 being time in ms delay to kill the Primary Server f) Run Bounded Failver Tests -To run original failover test with 1 client, 0ms inter-request delay 16 byte reply size 1) ./runFTori.sh 1 0 16 2) If not already running, on another terminal run fault injector ./runPK.sh 2500 -To run improved failover test with 1 client, 0ms inter-request delay 16 byte reply size 1) ./runFT.sh 1 0 16 2) If not already running, On another terminal run fault injector ./runPK.sh 2500 g) To kill a server (e.g. boggle.lab.ece.cmu.local): ssh boggle.lab.ece.cmu.local /afs/ece/class/ece749/public_html/teams-06/team3/ft-baseline-demo/project/scripts/killServer.pl h) To kill all severs 1) killAllServers.sh ================================================================ 2. Commands ================================================================ To compile: ant compile To deploy: ant deploy (by default, it deplots the jar file to our server) To kill all servers: ./afs/ece/class/ece749/public_html/teams-06/team3/ft-baseline-demo/project/scripts/killAllServers.sh To start JNDI server on go and 6 other servers as primary and backup: ./afs/ece/class/ece749/public_html/teams-06/team3/ft-baseline-demo/project/scripts/startAllServers.sh ================================================================ 3. File listing ================================================================ BrokerBean (Session Bean) ./src/main/order/broker/Broker.java ./src/main/order/broker/BrokerBean.java ./src/main/order/broker/BrokerHome.java OrderBean (Entity Bean) ./src/main/order/ejb/Order.java ./src/main/order/ejb/OrderBean.java ./src/main/order/ejb/OrderHome.java TransactionBean (Entity Bean) ./src/main/order/transaction/Transaction.java ./src/main/order/transaction/TransactionBean.java ./src/main/order/transaction/TransactionHome.java TransactionIDBean (Entity Bean) ./src/main/ftex/transactionID/TransactionID.java ./src/main/ftex/transactionID/TransactionIDBean.java ./src/main/ftex/transactionID/TransactionIDHome.java AccountBean (Entity Bean) ./src/main/account/ejb/AccountBean.java ./src/main/account/interfaces/AccountHome.java ./src/main/account/interfaces/Account.java Client Application ./src/main/order/client/OrderClient.java ./src/main/order/client/BookLister.java ./src/main/ftex/client/JndiConnector.java ./src/main/ftex/client/MarketLister.java ./src/main/ftex/client/NoServersAvailableException.java Testing Clients: ./src/main/ftex/client/BookLister.java ./src/main/ftex/client/CaseTest.java ./src/main/ftex/client/Client.java ./src/main/ftex/client/LoopTest.java ./src/main/ftex/client/Looper.java ./src/main/ftex/client/TestClient.txt ./src/main/ftex/client/WorkLoad.java ./src/main/ftex/client/Zombie.java ./src/main/ftex/client/FaultTest.java ./src/main/ftex/client/FaultTester.java ./src/main/ftex/client/FaultTestOri.java ./src/main/ftex/client/FaultTesterOri.java Repication Manager ./src/main/ftex/repman/HeartBeat.java ./src/main/ftex/repman/JNDIUpdater.java ./src/main/ftex/repman/ReplicationManager.java ./src/main/ftex/repman/RepmanDebug.java Deployment Descriptors: ./src/resources/META-INF/ejb-jar.xml ./src/resources/META-INF/jboss.xml ./src/resources/META-INF/jbosscmp-jdbc.xml Ant build file: ./build.xml