Skip to content

Repeatedly triggering FlushNow occasionally seems to cause the NDFileHDF5 plugin to freeze #593

Description

@jwlodek

In our automated data collection code, we call flush now whenever we post updates about how many frames were collected for each detector onto our message bus so that clients can leverage the SWMR support for visualization or analysis, guaranteeing that the frame is available on-disk.

Recently, we started seeing the call to FlushNow occasionally lock up the plugin:

XF:27ID1-BI{Kinetix-Det:1}HDF1:FlushNow 2026-07-08 12:04:12.928794 Done  
XF:27ID1-BI{Kinetix-Det:1}HDF1:FlushNow 2026-07-08 12:04:15.931710 Flush  
XF:27ID1-BI{Kinetix-Det:1}HDF1:FlushNow 2026-07-08 12:04:15.952663 Done  
XF:27ID1-BI{Kinetix-Det:1}HDF1:FlushNow 2026-07-08 12:04:18.957255 Flush  
XF:27ID1-BI{Kinetix-Det:1}HDF1:FlushNow 2026-07-08 12:04:18.983072 Done  
XF:27ID1-BI{Kinetix-Det:1}HDF1:FlushNow 2026-07-08 12:04:21.997243 Flush  <== Here, the previous flushes returned in less than a second, this one blocked for over 10 seconds.
XF:27ID1-BI{Kinetix-Det:1}HDF1:FlushNow 2026-07-08 12:04:34.097083 Done  

The above is a camonitor of the PV showing how the acquisition code will write 1 to FlushNow every 3 seconds, until the lockup.

There are no error messages that I can see in the IOC shell. The IOC remains otherwise completely responsive, but the HDF plugin has it's array rate drop to zero.

I can observe this with any value for the flush on nth frame PV (1 or 10000). One note is that the underlying network storage was recently upgraded from a lustre filesystem to a NetApp volume (nfs4). We didn't see this prior to the switch as far as I know. The ADCore version and driver (as well as the acquisition code) were all unchanged. I upgraded the ADCore version from 3-10 to the most recent master branch, but the behavior is the same.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions