From 932c2df637adab207e5731492fe072fdc9a02a98 Mon Sep 17 00:00:00 2001 From: maddie-boisvert Date: Mon, 19 Dec 2022 16:38:31 -0600 Subject: [PATCH] Refector lua script and publish only added permits Signed-off-by: maddie-boisvert --- .../java/org/redisson/RedissonPermitExpirableSemaphore.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/redisson/src/main/java/org/redisson/RedissonPermitExpirableSemaphore.java b/redisson/src/main/java/org/redisson/RedissonPermitExpirableSemaphore.java index 1ce298e81..b84d7b63c 100644 --- a/redisson/src/main/java/org/redisson/RedissonPermitExpirableSemaphore.java +++ b/redisson/src/main/java/org/redisson/RedissonPermitExpirableSemaphore.java @@ -667,10 +667,10 @@ public class RedissonPermitExpirableSemaphore extends RedissonExpirable implemen "end;" + "end; " + "local available = redis.call('get', KEYS[1]); " + - "local claimed = redis.call('zcount', KEYS[2], 0, '+inf'); " + "if available == false then " + "return 0 " + "end;" + + "local claimed = redis.call('zcount', KEYS[2], 0, '+inf'); " + "if claimed == false then " + "return tonumber(available) " + "end;" + @@ -755,7 +755,7 @@ public class RedissonPermitExpirableSemaphore extends RedissonExpirable implemen + "end;" + "redis.call('set', KEYS[1], tonumber(value) + tonumber(ARGV[1])); " + "if tonumber(ARGV[1]) > 0 then " - + "redis.call('publish', KEYS[2], tonumber(value) + tonumber(ARGV[1])); " + + "redis.call('publish', KEYS[2], ARGV[1]); " + "end;", Arrays.asList(getRawName(), getChannelName()), permits); }