Skip to content
Distributed File System with Transactional Semantics
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ReadMe
RequestHandler.java
Specification.pdf
TCPServer.java
TxnTable.java
build.sh
run.sh

ReadMe

Distributed File System with Transactional Semantics

The TCPServer program include following three java files
- TCPServer.java
- RequestHandler.java
- TxnTable.java

How to Run the TCPServer
1. Run “sh build.sh" to compile the program.
2. Run “sh run.sh <ipaddress> <port> <directory>" to run the program. No validation check for passed directory. as we assume you will pass in existing directory.

How to Exit the TCPServer
- Use Ctrl-C to exit the TCPServer, all the log files under the directory will be deleted.

LOG Implementation:
There are two sorts of log file
- “.serverLog": record all transactions state before crash for server recovery. It will only be deleted when the Server exit using "Ctrl-C.

- "." + transactionId: one log file for each transaction, record all details of each transaction for server recovery. It will be deleted after that transaction being committed or abortted. 


TimeOut Implementation:
30 seconds Timeout is implemented for each transaction for states including NEW_TXN, UNCOMMITTED, RESENDING. If the timer is expired, we assume that the client has crashed, the transaction will be aborted and the transaction detail log file will be deleted.  
You can’t perform that action at this time.