amplab/tachyon — pull request #93 by GraceH (2013-12-22 12:26:37+00:00)
Title: Make file creation and deletion sychronized

Currently, there is no synchronization on file creation and deletion with editlog updates. This blocks the master restarting sometimes.

For example, Client-a creates file-A, and at the same time client-b creates file-B. Then client-a get the file id as 2 and client-b gets 3 which is after file-A. However, the editlog records creating file-B before the file-A by chance. Later on, we re-boot the whole system. The master re-builds the INode by reading that editlog, then file-B's fid is 2 and file-A's is 3, which is not consistent with original case. If some deletion and recreation based on the previous fid, it crashes master.

This PR aims to keep the editlog's update consistent with any INode change.