BP4 does not implement the BP3 "async file open"
The BP3 engine, like ADIOS1, had a feature where one could "pre-Open" a file, which helped protect applications from long delays on machines where a system-level file open might take a long time. Specifically, in BP3, the actual ADIOS2 Open() call for writers would spawn an asynchronous task for the sytem level open, and avoid use of the system file for the duration of ADIOS Open to ensure that ADIOS Open could return before system-level open() completed. BP3 writer would join the async task before the first write() that actually used that system-level resource, but between the Open and the first write, the application was free to do other things, essentially hiding the latency of system-level open. However, the addition of index files in BP4 changed the nature of Open, and it no longer refrains from touching the system-level resource. This means that in BP4, it is not possible to pre-Open a ADIOS file and hide the latency of the system-level open() call. Instead, Open blocks internally and waits for the system open to succeed so that it can write to the index files. The pre-Open functionality should be implemented in BP4 as it is in BP3. (See discussion in PR #2007.)