Access to the CDO data is available prior the OFI transport completes
After pulling the devel branch (commit fd1b3257), the default transport is OFI.
Producer offers CDOs containing GRIB data. Consumer demands CDOs and uses mstro_cdo_access_ptr
to obtain the data. Then we parse the data using a GRIB library and it complains on the completeness of the data.
When I set export MSTRO_TRANSPORT_DEFAULT=GFS
everything works.
To verify this I created a small demonstrator that offers a single CDO. The CDO contains char[] of all characters equal to 'A'.
The consumer demands the CDO and checks if any of the characters is not equal to 'A'. This test fails very often.
The character that is not equal to 'A' is some non ASCII character. If I try to loop again through the buffer and print the content immediately after that check I am getting all 'A'. It is kind of a race condition issue.
If I add a sleep(1) after mstro_cdo_access_ptr
everything works well.
Same happens with mstro_cdo_access_mamba_array
.
This issue was reproduced on Sage and our small HPC.
Relates to #38