RFC concerning the disabling of file locking in HDF5
Enclosed is an RFC describing how we intend to allow users to disable file locking in HDF5. This currently only affects HDF5 1.10.0, but the HDF5 1.8 branch will eventually be affected when we move some aspects of the file locking code over (TBD).
For those who are unfamiliar, file locking is used in HDF5 1.10.x to help users get SWMR semantics correct and prevent dangerous access patterns (e.g.: multiple simultaneous writers). It is not used to region-lock parts of the file as in some database systems. The main problem users have encountered is file locking being disabled on a file system, causing file lock calls to return failure.
For those who don't wish to read the entire document, our recommend solution is to:
(a) Allow users to enable/disable the file locking via an environment variable.
(b) Update the library to emit a more informative error message when file locking appears to be unimplemented on a file system and the file lock call fails.
We discussed other options (new API calls, configure options, etc.) but an environment variable has the advantages of not requiring a library recompile or modifying existing source code as well as being fairly easy to implement.
Please let us know if you have any questions or concerns.