From f803a0b57ba5a7518eebe325a22b9c346d6114f7 Mon Sep 17 00:00:00 2001 From: William Date: Mon, 12 Feb 2024 17:51:40 +0000 Subject: [PATCH] refactor: revert `keys` change --- .../husksync/redis/RedisManager.java | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/common/src/main/java/net/william278/husksync/redis/RedisManager.java b/common/src/main/java/net/william278/husksync/redis/RedisManager.java index 6cb8325c..777db90b 100644 --- a/common/src/main/java/net/william278/husksync/redis/RedisManager.java +++ b/common/src/main/java/net/william278/husksync/redis/RedisManager.java @@ -299,20 +299,16 @@ public class RedisManager extends JedisPubSub { public void clearUsersCheckedOutOnServer() { final String keyFormat = String.format("%s*", RedisKeyType.DATA_CHECKOUT.getKeyPrefix(clusterId)); try (Jedis jedis = jedisPool.getResource()) { - final Set keys = Sets.newHashSet(); - - // Scan for keys - String nextCursor; - do { - final ScanResult scanResult = jedis.scan(keyFormat, new ScanParams().match(keyFormat)); - keys.addAll(scanResult.getResult()); - nextCursor = scanResult.getCursor(); - } while (!nextCursor.equals("0")); - - // Delete matched keys - jedis.del(keys.stream() - .filter(k -> jedis.get(k).equals(plugin.getServerName())) - .toArray(String[]::new)); + final Set keys = jedis.keys(keyFormat); + if (keys == null) { + plugin.log(Level.WARNING, "Checkout key returned null from Redis during clearing"); + return; + } + for (String key : keys) { + if (jedis.get(key).equals(plugin.getServerName())) { + jedis.del(key); + } + } } catch (Throwable e) { plugin.log(Level.SEVERE, "An exception occurred clearing this server's checkout keys on Redis", e); }