I’m using SWMR to write a file based on swmr_addrem_writer.c from hdf5 tests.
Having a non-corrupted hdf5-file or be able to recover it when the writer is crashing (segmentation-fault) or killed with “kill -9” is important since I run long simulations (e.g. 2 days). I’m willing to lose some data, e.g. last 10 minutes.
I did an experiment:
1, Wrote some records
2. Flushed the whole hdf5-file with H5Fflush API
3. Put the application to sleep (for 60 seconds)
4. Killed the application with “kill -9” during that sleep
Unfortunately, h5stat and h5dump utilities reported the hdf5-file as corrupted. Interestingly, h5watch utility read the hdf5-file correctly during the writer run, before it was killed.
Does anyone have any suggestions/recommendations how to avoid corrupted hdf5-file or be able to recover it afterward?
I read on the web that hdf5 developers worked on a journaling feature for hdf5-file recovery several years ago. Is there any update on it? Is it completed? Dropped?