From 3282f5739c90d3baffac8fecedd4ca5797cbb4cd Mon Sep 17 00:00:00 2001 From: William Date: Sun, 21 Aug 2022 11:49:15 +0100 Subject: [PATCH] Fix nested futures on #ensureUser causing ineffective #join synchronisation calls, close #40 --- .../java/net/william278/husksync/database/MySqlDatabase.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/net/william278/husksync/database/MySqlDatabase.java b/common/src/main/java/net/william278/husksync/database/MySqlDatabase.java index c6f1260b..2de6a27e 100644 --- a/common/src/main/java/net/william278/husksync/database/MySqlDatabase.java +++ b/common/src/main/java/net/william278/husksync/database/MySqlDatabase.java @@ -121,7 +121,7 @@ public class MySqlDatabase extends Database { @Override public CompletableFuture ensureUser(@NotNull User user) { - return CompletableFuture.runAsync(() -> getUser(user.uuid).thenAccept(optionalUser -> + return getUser(user.uuid).thenAccept(optionalUser -> optionalUser.ifPresentOrElse(existingUser -> { if (!existingUser.username.equals(user.username)) { // Update a user's name if it has changed in the database @@ -155,7 +155,7 @@ public class MySqlDatabase extends Database { } catch (SQLException e) { getLogger().log(Level.SEVERE, "Failed to insert a user into the database", e); } - }))); + })); } @Override