Skip to content

Commit d2090d7

Browse files
authored
Prevent ConcurrentModificationException in TempTableThread shutdown (#7463)
1 parent 64930c4 commit d2090d7

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

api/src/org/labkey/api/data/TempTableTracker.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import java.io.IOException;
2727
import java.io.RandomAccessFile;
2828
import java.lang.ref.Cleaner;
29+
import java.util.ArrayList;
2930
import java.util.Map;
3031
import java.util.TreeMap;
3132
import java.util.TreeSet;
@@ -286,7 +287,8 @@ public void shutdownStarted()
286287
{
287288
synchronized(createdTableNames)
288289
{
289-
for (TempTableTracker ttt : createdTableNames.values())
290+
// Copy createdTableNames.values() to prevent ConcurrentModificationException
291+
for (TempTableTracker ttt : new ArrayList<>(createdTableNames.values()))
290292
{
291293
ttt.state.run();
292294
}

0 commit comments

Comments
 (0)