From 4ab5eb0cd318a2dd314dc1964d00dd018f67ceae Mon Sep 17 00:00:00 2001 From: kvega005 Date: Tue, 2 Jun 2026 11:13:42 -0700 Subject: [PATCH] Fix stress test with name deduping. --- src/windows/wslcsession/WSLCVolumes.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/windows/wslcsession/WSLCVolumes.cpp b/src/windows/wslcsession/WSLCVolumes.cpp index b7d550458..adcc7d014 100644 --- a/src/windows/wslcsession/WSLCVolumes.cpp +++ b/src/windows/wslcsession/WSLCVolumes.cpp @@ -118,9 +118,6 @@ WSLCVolumeInformation WSLCVolumes::CreateVolume( auto [it, inserted] = m_volumes.insert({name, std::move(volume)}); WI_VERIFY(inserted); - // Record that we initiated this create so OnVolumeEvent ignores the matching docker event. - m_expectedEvents.emplace_back(name, VolumeEvent::Create); - return info; } @@ -261,6 +258,16 @@ __requires_lock_held(m_lock) void WSLCVolumes::OpenVolumeExclusiveLockHeld(const { OpenVolumeExclusiveLockHeld(m_dockerClient.InspectVolume(volumeName)); } + catch (const DockerHTTPException& e) + { + // A 404 here is expected when a late `create` event arrives after the volume has already + // been deleted (e.g. user calls CreateVolume then DeleteVolume; the create event from + // docker can race in after the delete has been processed). + if (e.StatusCode() != 404) + { + LOG_CAUGHT_EXCEPTION_MSG("Failed to open volume: %hs", volumeName.c_str()); + } + } CATCH_LOG_MSG("Failed to open volume: %hs", volumeName.c_str()); }