Skip to content

Duplicate key error in StoreAllowlistBounceTransaction #4210

@AuroraLS3

Description

@AuroraLS3

Describe the issue

Exception thrown on bounce or successful login

Exceptions & Other Logs

02bfbb85ec - Last occurred: 2025-08-11 Occurrences: 1
---- Context 1 ----
Plan v5.6 build 2965
Paper 1.21.4-222-9b1798d (MC: 1.21.4)
Server v1.21.4-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 '76fb34df-f573-4f10-897d-25e5380703e2' for key 'uuid'
   java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
   java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
   java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770)
   java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
   java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
   java.base/java.lang.Thread.run(Thread.java:1583)
Caused by:
com.djrapitops.plan.exceptions.database.DBOpException: SQL Failure: Duplicate entry '76fb34df-f573-4f10-897d-25e5380703e2' 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:1768)
   java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
   java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
   java.base/java.lang.Thread.run(Thread.java:1583)
Caused by:
java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '76fb34df-f573-4f10-897d-25e5380703e2' 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:988)
   com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1166)
   com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1101)
   com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate(ClientPreparedStatement.java:1467)
   com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdate(ClientPreparedStatement.java:1084)
   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:1768)
   java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
   java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
   java.base/java.lang.Thread.run(Thread.java:1583)
   java.base/java.lang.Thread.getStackTrace(Thread.java:2451)
   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:70)
   io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54)
   io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131)
   org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628)
   net.minecraft.server.players.PlayerList.canPlayerLogin(PlayerList.java:672)
   net.minecraft.server.network.ServerLoginPacketListenerImpl.verifyLoginAndFinishConnectionSetup(ServerLoginPacketListenerImpl.java:228)
   net.minecraft.server.network.ServerLoginPacketListenerImpl.tick(ServerLoginPacketListenerImpl.java:115)
   net.minecraft.network.Connection.tick(Connection.java:607)
   net.minecraft.server.network.ServerConnectionListener.tick(ServerConnectionListener.java:256)
   net.minecraft.server.MinecraftServer.tickConnection(MinecraftServer.java:1762)
   net.minecraft.server.dedicated.DedicatedServer.tickConnection(DedicatedServer.java:427)
   net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1738)
   net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1529)
   net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1251)
   net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:310)
   java.base/java.lang.Thread.run(Thread.java:1583)

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
    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