Skip to content

CompletionExecution Error when player not whitelisted #4614

Description

@Roman-Emperor-42

Describe the issue

When a player that isn't whitelisted tries to join it gives a CompletionException error and logs to file

Exceptions & Other Logs

[17:59:01 INFO]: UUID of player lariatt_ is 38c02cdd-3fe3-4dd3-a74a-33f560dab1b3
[17:59:01 INFO]: Disconnecting lariatt_ (/XXX.XXX.XXX.XXX:57216): You are not whitelisted on this server!
[17:59:01 ERROR]: [Plan] Ran into CompletionException - logged to plugins/Plan/logs/CompletionException-44e2972033.txt
[17:59:01 ERROR]: [Plan] (INCLUDE CONTENTS OF THE FILE IN ANY REPORTS)
[17:59:01 ERROR]: [Plan] What to do: Report this, duplicate key exists in SQL.
[17:59:01 INFO]: lariatt_ (/XXX.XXX.XXX.XXX:57216) lost connection: You are not whitelisted on this server!


44e2972033 - Last occurred: 2026-05-07 Occurrences: 7
---- Context 5 ----
Plan v5.6 build 2965
ShreddedPaper 1.21.11-DEV-8910c3c (MC: 1.21.11)
Server v1.21.11-R0.1-SNAPSHOT

Report this, duplicate key exists in SQL.
Transaction: class com.djrapitops.plan.storage.database.transactions.events.StoreAllowlistBounceTransaction
DB State: OPEN - fatal: false
Error code: 1062
INSERT INTO plan_allowlist_bounce (uuid,name,server_id,times,last_bounce) VALUES (?,?,(SELECT plan_servers.id FROM plan_servers WHERE plan_servers.uuid=? LIMIT 1),?,?)
Duplicate key

---- Context 4 ----
Plan v5.6 build 2965
ShreddedPaper 1.21.11-DEV-8910c3c (MC: 1.21.11)
Server v1.21.11-R0.1-SNAPSHOT

Report this, duplicate key exists in SQL.
Transaction: class com.djrapitops.plan.storage.database.transactions.events.StoreAllowlistBounceTransaction
DB State: OPEN - fatal: false
Error code: 1062
INSERT INTO plan_allowlist_bounce (uuid,name,server_id,times,last_bounce) VALUES (?,?,(SELECT plan_servers.id FROM plan_servers WHERE plan_servers.uuid=? LIMIT 1),?,?)
Duplicate key

---- Context 3 ----
Plan v5.6 build 2965
ShreddedPaper 1.21.11-DEV-8910c3c (MC: 1.21.11)
Server v1.21.11-R0.1-SNAPSHOT

Report this, duplicate key exists in SQL.
Transaction: class com.djrapitops.plan.storage.database.transactions.events.StoreAllowlistBounceTransaction
DB State: OPEN - fatal: false
Error code: 1062
INSERT INTO plan_allowlist_bounce (uuid,name,server_id,times,last_bounce) VALUES (?,?,(SELECT plan_servers.id FROM plan_servers WHERE plan_servers.uuid=? LIMIT 1),?,?)
Duplicate key

---- Context 2 ----
Plan v5.6 build 2965
ShreddedPaper 1.21.11-DEV-8910c3c (MC: 1.21.11)
Server v1.21.11-R0.1-SNAPSHOT

Report this, duplicate key exists in SQL.
Transaction: class com.djrapitops.plan.storage.database.transactions.events.StoreAllowlistBounceTransaction
DB State: OPEN - fatal: false
Error code: 1062
INSERT INTO plan_allowlist_bounce (uuid,name,server_id,times,last_bounce) VALUES (?,?,(SELECT plan_servers.id FROM plan_servers WHERE plan_servers.uuid=? LIMIT 1),?,?)
Duplicate key

---- Context 1 ----
Plan v5.6 build 2965
ShreddedPaper 1.21.11-DEV-8910c3c (MC: 1.21.11)
Server v1.21.11-R0.1-SNAPSHOT

Report this, duplicate key exists in SQL.
Transaction: class com.djrapitops.plan.storage.database.transactions.events.StoreAllowlistBounceTransaction
DB State: OPEN - fatal: false
Error code: 1062
INSERT INTO plan_allowlist_bounce (uuid,name,server_id,times,last_bounce) VALUES (?,?,(SELECT plan_servers.id FROM plan_servers WHERE plan_servers.uuid=? LIMIT 1),?,?)
Duplicate key

---- Stacktrace ----
java.util.concurrent.CompletionException: com.djrapitops.plan.exceptions.database.DBOpException: SQL Failure: Duplicate entry '1d514072-6a8a-49a1-9793-775b9a06f3bd' for key 'uuid'
   java.base/java.util.concurrent.CompletableFuture.wrapInCompletionException(CompletableFuture.java:323)
   java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:359)
   java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:364)
   java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1791)
   java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
   java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
   java.base/java.lang.Thread.run(Thread.java:1474)
Caused by:
com.djrapitops.plan.exceptions.database.DBOpException: SQL Failure: Duplicate entry '1d514072-6a8a-49a1-9793-775b9a06f3bd' for key 'uuid'
   Plan-5.6-build-2965.jar//com.djrapitops.plan.exceptions.database.DBOpException.forCause(DBOpException.java:153)
   Plan-5.6-build-2965.jar//com.djrapitops.plan.storage.database.transactions.ExecStatement.execute(ExecStatement.java:57)
   Plan-5.6-build-2965.jar//com.djrapitops.plan.storage.database.transactions.Transaction.execute(Transaction.java:223)
   Plan-5.6-build-2965.jar//com.djrapitops.plan.storage.database.transactions.events.StoreAllowlistBounceTransaction.performOperations(StoreAllowlistBounceTransaction.java:60)
   Plan-5.6-build-2965.jar//com.djrapitops.plan.storage.database.transactions.Transaction.executeTransaction(Transaction.java:89)
   Plan-5.6-build-2965.jar//com.djrapitops.plan.storage.database.SQLDB.lambda$executeTransaction$4(SQLDB.java:374)
   Plan-5.6-build-2965.jar//com.djrapitops.plan.storage.database.DBAccessLock.performDatabaseOperation(DBAccessLock.java:78)
   Plan-5.6-build-2965.jar//com.djrapitops.plan.storage.database.DBAccessLock.performDatabaseOperation(DBAccessLock.java:56)
   Plan-5.6-build-2965.jar//com.djrapitops.plan.storage.database.SQLDB.lambda$executeTransaction$5(SQLDB.java:373)
   java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1789)
   java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
   java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
   java.base/java.lang.Thread.run(Thread.java:1474)
Caused by:
java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '1d514072-6a8a-49a1-9793-775b9a06f3bd' for key 'uuid'
   com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:109)
   com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:114)
   com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:990)
   com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1168)
   com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1103)
   com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate(ClientPreparedStatement.java:1450)
   com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdate(ClientPreparedStatement.java:1086)
   Plan-5.6-build-2965.jar//plan.com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61)
   Plan-5.6-build-2965.jar//plan.com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java)
   Plan-5.6-build-2965.jar//com.djrapitops.plan.storage.database.transactions.ExecStatement.callExecute(ExecStatement.java:70)
   Plan-5.6-build-2965.jar//com.djrapitops.plan.storage.database.transactions.ExecStatement.execute(ExecStatement.java:64)
   Plan-5.6-build-2965.jar//com.djrapitops.plan.storage.database.transactions.ExecStatement.execute(ExecStatement.java:55)
   Plan-5.6-build-2965.jar//com.djrapitops.plan.storage.database.transactions.Transaction.execute(Transaction.java:223)
   Plan-5.6-build-2965.jar//com.djrapitops.plan.storage.database.transactions.events.StoreAllowlistBounceTransaction.performOperations(StoreAllowlistBounceTransaction.java:60)
   Plan-5.6-build-2965.jar//com.djrapitops.plan.storage.database.transactions.Transaction.executeTransaction(Transaction.java:89)
   Plan-5.6-build-2965.jar//com.djrapitops.plan.storage.database.SQLDB.lambda$executeTransaction$4(SQLDB.java:374)
   Plan-5.6-build-2965.jar//com.djrapitops.plan.storage.database.DBAccessLock.performDatabaseOperation(DBAccessLock.java:78)
   Plan-5.6-build-2965.jar//com.djrapitops.plan.storage.database.DBAccessLock.performDatabaseOperation(DBAccessLock.java:56)
   Plan-5.6-build-2965.jar//com.djrapitops.plan.storage.database.SQLDB.lambda$executeTransaction$5(SQLDB.java:373)
   java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1789)
   java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
   java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
   java.base/java.lang.Thread.run(Thread.java:1474)
   java.base/java.lang.Thread.getStackTrace(Thread.java:2193)
   Plan-5.6-build-2965.jar//com.djrapitops.plan.storage.database.SQLDB.executeTransaction(SQLDB.java:360)
   Plan-5.6-build-2965.jar//com.djrapitops.plan.gathering.listeners.bukkit.PlayerOnlineListener.onPlayerLogin(PlayerOnlineListener.java:94)
   co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80)
   org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:71)
   io.papermc.paper.plugin.manager.PaperEventManager.lambda$callEvent$0(PaperEventManager.java:60)
   io.multipaper.shreddedpaper.threading.SynchronousPluginExecution.execute(SynchronousPluginExecution.java:49)
   io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:59)
   io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131)
   org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628)
   org.bukkit.event.Event.callEvent(Event.java:46)
   io.papermc.paper.connection.HorriblePlayerLoginEventHack.execute(HorriblePlayerLoginEventHack.java:89)
   org.bukkit.craftbukkit.event.CraftEventFactory.handleLoginResult(CraftEventFactory.java:2312)
   net.minecraft.server.network.ServerLoginPacketListenerImpl.verifyLoginAndFinishConnectionSetup(ServerLoginPacketListenerImpl.java:209)
   net.minecraft.server.network.ServerLoginPacketListenerImpl.tick(ServerLoginPacketListenerImpl.java:97)
   net.minecraft.network.Connection.tick(Connection.java:598)
   net.minecraft.server.network.ServerConnectionListener.tick(ServerConnectionListener.java:230)
   net.minecraft.server.MinecraftServer.tickConnection(MinecraftServer.java:1953)
   net.minecraft.server.dedicated.DedicatedServer.tickConnection(DedicatedServer.java:597)
   net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1857)
   net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1662)
   net.minecraft.server.dedicated.DedicatedServer.tickServer(DedicatedServer.java:475)
   net.minecraft.server.MinecraftServer.processPacketsAndTick(MinecraftServer.java:1718)
   net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1384)
   net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:398)
   java.base/java.lang.Thread.run(Thread.java:1474)

Plugin versions

Plan version 5.6 build 2965

Additional information

This could be linked to us running a semi-niche server software (Shreddedpaper). Even if so it's likely that this could be an error on folia as well. It doesn't seem to be causing any other issues.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugIssues that contain unintended behaviorstatus: Already FixedIssues that were fixed already when they were created

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions