Is it safe to do parallel reads from a resqml file (.epc + .h5) in multiple threads using FESAPI 1.2.3.0

Hello Philippe,

Is it safe to do parallel reads from a resqml file (.epc + .h5) in multiple threads using FESAPI 1.2.3.0 ?

Thanks,
Shakir

Hi Shakir,

The general answer is no.

However, if you build HDF5 in a thread safe mode Questions about thread-safety and concurrent access and/or if you develop your own HdfProxy class, it should much better work.

On a pure FESAPI question (no third library as HDF5) : it is generally thread safe once the deserialization has been done and the epc file closed (it only remains the DataObjectRepository). The only problem I can quickly think about is call to methods starting with load* as AbstractIjkGridRepresentation.loadSplitInformation() for example which must be finished before to make some other dependent calls in other threads such as call to AbstractIjkGridRepresentation.getFaceCount()

For sure, this is not a lot tested and used. I only know one FESAPI adopter doing parallel read and only on the HDF5 part and with their own developed/proprietary HdfProxy class connected to FESAPI.