diff --git a/backend/src/main/java/com/algorithmrace/visualizer/RateLimitFilter.java b/backend/src/main/java/com/algorithmrace/visualizer/RateLimitFilter.java index 27fe72e..fa5f3eb 100644 --- a/backend/src/main/java/com/algorithmrace/visualizer/RateLimitFilter.java +++ b/backend/src/main/java/com/algorithmrace/visualizer/RateLimitFilter.java @@ -139,7 +139,7 @@ private static class SlidingWindow { private final java.util.Deque timestamps = new java.util.concurrent.ConcurrentLinkedDeque<>(); - boolean tryAcquire(int limit) { + synchronized boolean tryAcquire(int limit) { long now = System.currentTimeMillis(); long cutoff = now - WINDOW_MS;