From 65c9e346da0610476ad2d599a24536fed41c6f1f 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 53a3bc24069..0079aafbfb6 100644 --- a/lib/private/Snowflake/FileSequence.php +++ b/lib/private/Snowflake/FileSequence.php @@ -33,6 +33,9 @@ class FileSequence implements ISequence { 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; } @@ -104,6 +107,6 @@ class FileSequence implements ISequence { } private function getFilePath(int $fileId): string { - return $this->workDir . sprintf(self::LOCK_FILE_FORMAT, $fileId); + return $this->workDir . '/' . sprintf(self::LOCK_FILE_FORMAT, $fileId); } } From e15b429aea26d17e10bc05ab19c541656de4aafb 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 70054fee144..08e6357f363 100644 --- a/tests/lib/Snowflake/FileSequenceTest.php +++ b/tests/lib/Snowflake/FileSequenceTest.php @@ -30,6 +30,5 @@ class FileSequenceTest extends ISequenceBase { foreach (glob($lockDirectory . '/*') as $file) { unlink($file); } - rmdir($lockDirectory); } }