Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



2 Commits

Repository files navigation

Distributed File System with Transactional Semantics

The TCPServer program include following three java files

How to Run the TCPServer
1. Run “sh" to compile the program.
2. 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.  


Distributed File System with Transactional Semantics






No releases published


No packages published