ACS-6168: Add 5 retries when retrieving the temp directory to deal with clashes when high load is applied immediatelly at startup

This commit is contained in:
mstrankowski 2023-10-26 13:32:56 +02:00
parent 19feada1a6
commit ab7058870d
2 changed files with 16 additions and 8 deletions

View File

@ -271,12 +271,16 @@ public class FileManager
final File systemTempDir = new File(systemTempDirPath);
final File tempDir = new File(systemTempDir, dirName);
if (!tempDir.exists() && !tempDir.mkdirs() && !tempDir.exists())
{
throw new RuntimeException("Failed to create temp directory: " + tempDir);
}
int retrieveTempDirAttemptLimit = 5;
for (int i = 0; i < retrieveTempDirAttemptLimit; i++) {
if (tempDir.exists() || tempDir.mkdirs())
{
return tempDir;
}
}
throw new RuntimeException("Failed to create temp directory: " + tempDir);
}
}
}

View File

@ -230,12 +230,16 @@ public class FileManager
final File systemTempDir = new File(systemTempDirPath);
final File tempDir = new File(systemTempDir, dirName);
if (!tempDir.exists() && !tempDir.mkdirs())
{
throw new RuntimeException("Failed to create temp directory: " + tempDir);
}
int retrieveTempDirAttemptLimit = 5;
for (int i = 0; i < retrieveTempDirAttemptLimit; i++) {
if (tempDir.exists() || tempDir.mkdirs())
{
return tempDir;
}
}
throw new RuntimeException("Failed to create temp directory: " + tempDir);
}
}
}