Thanks for the feedback Rakesh/Todd/Flavio.
it might be a good idea to make sure that the server doesn't make further progress if the write disk fail
Using Eclipse I backtracked the calls to the atomic operation. It branches quickly, but from what I can see any exceptions thrown when writing the file are handled properly.
Is there any case in zookeeper to look at the '.tmp' file while reading back?
I think the comments clarified this. But basically the server never tries to read the .tmp file, it will only write that file and eventually do the rename. If the rename occurs we're done, if the rename fails we attempt to remove the .tmp file, regardless we ignore that file outside of the atomicoutputstream named file creation process. (so I think we're good)
You may also want to raise the level of the log message to error in the catch block.
I'll submit an updated patch for this.