Skip to content

SST: invalidate NFS dcache between readContactInfo retries - #5010

Merged
eisenhauer merged 2 commits into
ornladios:masterfrom
eisenhauer:sst-nfs-dcache-fix
Apr 21, 2026
Merged

SST: invalidate NFS dcache between readContactInfo retries#5010
eisenhauer merged 2 commits into
ornladios:masterfrom
eisenhauer:sst-nfs-dcache-fix

Conversation

@eisenhauer

Copy link
Copy Markdown
Member

A failed fopen() of the writer's contact file populates the NFS client's negative dcache; subsequent fopen() calls return NULL from that cache for up to acdirmax (~30s) even after the writer creates the file. Force a readdir() on the parent directory before each retry to invalidate the stale entry. Cost is amortized into the existing 100ms sleep.

A failed fopen() of the writer's contact file populates the NFS client's
negative dcache; subsequent fopen() calls return NULL from that cache
for up to acdirmax (~30s) even after the writer creates the file. Force
a readdir() on the parent directory before each retry to invalidate the
stale entry. Cost is amortized into the existing 100ms sleep.
@eisenhauer
eisenhauer requested a review from pnorbert April 21, 2026 00:37
@eisenhauer
eisenhauer enabled auto-merge April 21, 2026 01:14
@eisenhauer
eisenhauer merged commit a616d28 into ornladios:master Apr 21, 2026
47 checks passed
@eisenhauer
eisenhauer deleted the sst-nfs-dcache-fix branch April 21, 2026 01:17
eisenhauer added a commit that referenced this pull request Apr 22, 2026
SST: invalidate NFS dcache between readContactInfo retries
(cherry picked from commit a616d28)
eisenhauer added a commit that referenced this pull request Apr 22, 2026
vicentebolea added a commit that referenced this pull request Apr 29, 2026
* origin/release_212:
  update bpcmp test output
  Fix printing double values in bpls min/max and the Min and Max strings of the io.AvailableVariables() result map/dictionary. Note: %g in printf and cout << doublevar in C++ renders 6 significant digits by default and a value like 130255.32345 is printed as 130255, looking like an integer. Now we print 1.302553e+05. In case of bpls, min/max for small values (-10000, 10000) are still printed with %g, but outside that they are printed with %e.
  Bump version to v2.12.1
  Merge pull request #5022 from eisenhauer/cxi-slingshot-error-msg
  Merge pull request #5015 from rtobar/mgard-lossless-type-parameter
  Merge pull request #5010 from eisenhauer/sst-nfs-dcache-fix
  Merge pull request #5008 from ordinary-slim/patch-1
  vectorize min/max with SIMD for float, double, and integer types (#4985)
  dill 2026-04-17 (9d32c1df)
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