Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix ADIOS1: listSeries #883

Merged
merged 3 commits into from
Jan 7, 2021
Merged

Fix ADIOS1: listSeries #883

merged 3 commits into from
Jan 7, 2021

Conversation

ax3l
Copy link
Member

@ax3l ax3l commented Jan 5, 2021

Fix ADIOS1 issue on listSeries seen with two tests.

@@ -1112,8 +1112,7 @@ void test_complex(const std::string & backend) {
if( backend != "json" ) //! @todo clarify that complex data is not N+1 data in JSON
{
Series list{ "../samples/serial_write_complex." + backend, Access::READ_ONLY };
if( list.backend() != "ADIOS1" ) // FIXME: "Internal error: Failed to inquire about ADIOS variable during dataset opening"
helper::listSeries( list );
helper::listSeries( list );
Copy link
Member Author

@ax3l ax3l Jan 5, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[ADIOS1] Internal error: Failed to inquire about ADIOS variable
    '/data/0/meshes/CfltCflt' during dataset opening

Curious, since it should only have a problem with Cldbl, which we don't write.
Looks like it doubled the variable name in the path: CfltCflt instead of Cflt?

@@ -1536,8 +1535,7 @@ TEST_CASE( "patch_test", "[serial]" )
if( t != "json" ) // FIXME: "[JSON] No such attribute in the given location."
{
Series list{"../samples/serial_patch." + t, Access::READ_ONLY};
if( list.backend() != "ADIOS1" ) // FIXME: "Internal error: Failed to inquire about ADIOS variable during dataset opening"
helper::listSeries(list);
helper::listSeries(list);
Copy link
Member Author

@ax3l ax3l Jan 5, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same curious variable-name doubling here (xx should read x):

[ADIOS1] Internal error: Failed to inquire about ADIOS variable
    '/data/1/particles/e/particlePatches/offset/xx' during dataset opening

Cover ADIOS1 issue on listSeries seen with two tests.
@ax3l ax3l force-pushed the fix-listSeriesADIOS1 branch from 86a3dae to 9e942aa Compare January 6, 2021 17:44
Add the missing variable name to the error message.
@ax3l ax3l force-pushed the fix-listSeriesADIOS1 branch from 9e942aa to 53cb2a6 Compare January 6, 2021 17:45
@franzpoeschel
Copy link
Contributor

franzpoeschel commented Jan 7, 2021

This seems to be essentially the same issue as in #884. Apparently, our tests didn't yet cover workflows where a dataset is opened twice and the JSON and ADIOS1 backends did not deal with that correctly.

@ax3l
Copy link
Member Author

ax3l commented Jan 7, 2021

Epic, thank you! ✨

@ax3l ax3l merged commit 74abfcf into openPMD:dev Jan 7, 2021
@ax3l ax3l deleted the fix-listSeriesADIOS1 branch January 7, 2021 22:38
franzpoeschel added a commit to franzpoeschel/openPMD-api that referenced this pull request Jan 29, 2021
* Test ADIOS1: listSeries

Cover ADIOS1 issue on listSeries seen with two tests.

* ADIOS1: More Meaningful Var Error Msg

Add the missing variable name to the error message.

* ADIOS1: deal correctly with opening datasets multiple times

Co-authored-by: Franz Pöschel <franz.poeschel@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants