From d17fb28ac90343dc54be51d957c9c387c1c7d293 Mon Sep 17 00:00:00 2001 From: Benjamin Gaussorgues Date: Fri, 30 Jan 2026 11:05:07 +0100 Subject: [PATCH 1/2] fix(snowflakes): create file lock files into lock directory Signed-off-by: Benjamin Gaussorgues --- lib/private/Snowflake/FileSequence.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/private/Snowflake/FileSequence.php b/lib/private/Snowflake/FileSequence.php index 53a3bc240690d..3d5d9c76f0b77 100644 --- a/lib/private/Snowflake/FileSequence.php +++ b/lib/private/Snowflake/FileSequence.php @@ -27,12 +27,15 @@ class FileSequence implements ISequence { public function __construct( ITempManager $tempManager, ) { - $this->workDir = $tempManager->getTempBaseDir() . '/' . self::LOCK_FILE_DIRECTORY; + $this->workDir = $tempManager->getTempBaseDir() . '/' . self::LOCK_FILE_DIRECTORY . '/'; $this->ensureWorkdirExists(); } private function ensureWorkdirExists(): void { if (is_dir($this->workDir)) { + if (!is_writable($this->workDir)) { + throw new \Exception('File sequence directory exists but is not writable'); + } return; } From 4c37980a6f76ea66f48525c7b34e918ded7fb6b2 Mon Sep 17 00:00:00 2001 From: Benjamin Gaussorgues Date: Mon, 2 Feb 2026 11:02:48 +0100 Subject: [PATCH 2/2] chore(snowflakes): don't remove file lock directory during tests Signed-off-by: Benjamin Gaussorgues --- tests/lib/Snowflake/FileSequenceTest.php | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/lib/Snowflake/FileSequenceTest.php b/tests/lib/Snowflake/FileSequenceTest.php index 70054fee14473..08e6357f363c1 100644 --- a/tests/lib/Snowflake/FileSequenceTest.php +++ b/tests/lib/Snowflake/FileSequenceTest.php @@ -30,6 +30,5 @@ public function tearDown():void { foreach (glob($lockDirectory . '/*') as $file) { unlink($file); } - rmdir($lockDirectory); } }