From ac11730d46f32b6864c00e3b72aded022c1a4bc3 Mon Sep 17 00:00:00 2001 From: Tux Date: Thu, 13 Oct 2016 23:44:49 -0400 Subject: [PATCH] Fix bugs in RedisBungee functionality. Closes #41 --- .../minecraft/redisbungee/RedisBungee.java | 11 +++++++++-- .../minecraft/redisbungee/util/RedisCallable.java | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java index ba5afb8..6e8c56a 100644 --- a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java +++ b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java @@ -276,9 +276,14 @@ public final class RedisBungee extends Plugin { } catch (JedisConnectionException e) { // Redis server has disappeared! getLogger().log(Level.SEVERE, "Unable to update heartbeat - did your Redis server go away?", e); + return; + } + try { + serverIds = getCurrentServerIds(true, false); + globalPlayerCount.set(getCurrentCount()); + } catch (Throwable e) { + getLogger().log(Level.SEVERE, "Unable to update data - did your Redis server go away?", e); } - serverIds = getCurrentServerIds(true, false); - globalPlayerCount.set(getCurrentCount()); } }, 0, 3, TimeUnit.SECONDS); dataManager = new DataManager(this); @@ -357,6 +362,8 @@ public final class RedisBungee extends Plugin { } pipeline.sync(); + } catch (Throwable e) { + getLogger().log(Level.SEVERE, "Unable to fix up stored player data", e); } } }, 0, 1, TimeUnit.MINUTES); diff --git a/src/main/java/com/imaginarycode/minecraft/redisbungee/util/RedisCallable.java b/src/main/java/com/imaginarycode/minecraft/redisbungee/util/RedisCallable.java index b43f0c8..11b3e49 100644 --- a/src/main/java/com/imaginarycode/minecraft/redisbungee/util/RedisCallable.java +++ b/src/main/java/com/imaginarycode/minecraft/redisbungee/util/RedisCallable.java @@ -34,7 +34,7 @@ public abstract class RedisCallable implements Callable, Runnable { } catch (InterruptedException e1) { throw new RuntimeException("task failed to run", e1); } - run(true); + return run(true); } }