From b1ca5cde9371473864e6f5fd44368bd8fd0ad87d Mon Sep 17 00:00:00 2001 From: Erhan Ceran Date: Tue, 25 Jan 2022 16:27:50 +0300 Subject: [PATCH] Add test for expiration before release in RedissonPermitExpirableSemaphore Signed-off-by: Erhan Ceran --- .../redisson/RedissonPermitExpirableSemaphoreTest.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/redisson/src/test/java/org/redisson/RedissonPermitExpirableSemaphoreTest.java b/redisson/src/test/java/org/redisson/RedissonPermitExpirableSemaphoreTest.java index 1d1e759c9..f84781686 100644 --- a/redisson/src/test/java/org/redisson/RedissonPermitExpirableSemaphoreTest.java +++ b/redisson/src/test/java/org/redisson/RedissonPermitExpirableSemaphoreTest.java @@ -220,6 +220,16 @@ public class RedissonPermitExpirableSemaphoreTest extends BaseConcurrentTest { }); } + @Test + public void testReleaseExpired() throws InterruptedException { + RPermitExpirableSemaphore s = redisson.getPermitExpirableSemaphore("test"); + s.trySetPermits(1); + String permitId = s.tryAcquire(100, 100, TimeUnit.MILLISECONDS); + Thread.sleep(200); + boolean released = s.tryRelease(permitId); + assertThat(released).isFalse(); + } + @Test public void testConcurrency_SingleInstance() throws InterruptedException { final AtomicInteger lockedCounter = new AtomicInteger();