Tachyon 0.4.0 Release

We are happy to announce Tachyon v0.4.0, a major release with new features, improvements, and a number of bug fixes.

Downloads for the release can be found here: Downloads.

Fast Master Failover

We designed and implemented standby masters to achieve fast master failure recovery. With this feature, the system can recover from master failure within 1 + x seconds in master fault tolerant mode, where x is a fixed user configured failure detection time.

Consolidated Scripts

We largely consolidated our scripts to facilitate interactions with the system. ./bin/tachyon-start.sh and ./bin/tachyon-stop.sh are used to stop and start tachyon, respectively, and ./bin/tachyon covers the remainder of Tachyon’s functionality:

$ ./bin/tachyon
Usage: tachyon COMMAND 
where COMMAND is one of:
  format             Format Tachyon
  tfs                Command line input for generic filesystem user client.
  loadufs            Load existing files in underlayer filesystem into Tachyon.
  runTest            Run a end-to-end test on a Tachyon cluster.
  runTests           Run all end-to-end tests on a Tachyon cluster.
  killAll <WORD>     Kill processes containing the WORD
  copyDir <PATH>     Copy the PATH to all worker nodes
  thriftGen          Generate all thrift code.
  clearCache         Clear OS buffer cache of the machine
Commands print help when invoked without parameters.

Improved document

Instead of using a wiki, we switched to markdown files in the Github repository to better track instruction changes. For more information, please visit our docsfolder. Please also visit our new website, tachyon-project.org, which was generated by those markdown files.

More operations

We added more streaming I/O operations, such as flush and seek. We also added more operations to the command line interface, such as cat and touch etc.

JVM Compatibility

From this release, Tachyon can run on both JVM 6 and 7.

Other Improvements

  • Fixed license issue.
  • Enforced format check before system starting.
  • Allowed clients to run as a different user than the server.
  • Upgraded the system to use Thrift 0.9.
  • Bug fixes.

Credits

Andrew Ash – document. Aslan Bekirov – bug fixes. Timothy St. Clair – scripts. Manu Goyal – command line interface. Grace Huang – format check, bug fix, orphan blocks. Calvin Jia – bug fixes, command line interface, web UI, hot master failover. Anurag Khandelwal – bug fixes. Jey Kottalam – bug fixes, build. Nick Lanham – scripts, bug fixes. Haoyuan Li – scripts, bug fixes, document, license, web UI, hot master failover, I/O operations. Xi Liu – I/O operations. Qifan Pu – license. Henry Saputra – Web UI. Joseph Tang – scripts, user issue. Shivaram Venkataraman – script bug fixes. Xiaomin Zhang – bug fixes Gerald Zhang – document. Sean Zhong – bug fixes, jvm issue.

Thanks to everyone who contributed!