LuckPerms

LuckPerms

41.4k Downloads

Error on upgrading DB from V1 to V2

IceWaffles opened this issue ยท 1 comments

commented

Description

A error shows up on startup, this is from having luckperms before when it was on V2 storage

Reproduction Steps

Server version 1.19.4 and run the LuckPerms version that released during 1.19.4 (or whatever version that used V1 H2)
Download LuckPerms latest
Restart server

Expected Behaviour

For this error not to show up

Server Details

[09:29:12 INFO]: Current: git-PufferfishPlusPurpur-19 (MC: 1.19.4)* You are on the latest version!

LuckPerms Version

LuckPerms v5.4.84

Logs and Configs

[09:26:33 WARN]: [LuckPerms] [DB Upgrade] Found an old (v1) H2 database file. LuckPerms will now attempt to upgrade it to v2 (this is a one time operation).
[09:26:33 INFO]: [LuckPerms] [DB Upgrade] Stage 1: Exporting the old database to an intermediary file...
[09:26:33 INFO]: [LuckPerms] [DB Upgrade] Stage 2: Importing the intermediary file into the new database...
[09:26:33 WARN]: [LuckPerms] Something went wrong whilst upgrading the LuckPerms database. Please report this on GitHub.
org.h2.jdbc.JdbcSQLSyntaxErrorException: Sequence "SYSTEM_SEQUENCE_C93A0991_FD00_4F42_9BD6_B9BAF3B349D5" already exists; SQL statement:

CREATE SEQUENCE "PUBLIC"."SYSTEM_SEQUENCE_C93A0991_FD00_4F42_9BD6_B9BAF3B349D5" START WITH 1 BELONGS_TO_TABLE [90035-214]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:632) ~[?:?]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) ~[?:?]
at org.h2.message.DbException.get(DbException.java:223) ~[?:?]
at org.h2.message.DbException.get(DbException.java:199) ~[?:?]
at org.h2.command.ddl.CreateSequence.update(CreateSequence.java:53) ~[?:?]
at org.h2.command.ddl.SchemaOwnerCommand.update(SchemaOwnerCommand.java:33) ~[?:?]
at org.h2.command.CommandContainer.update(CommandContainer.java:169) ~[?:?]
at org.h2.command.Command.executeUpdate(Command.java:252) ~[?:?]
at org.h2.command.dml.RunScriptCommand.execute(RunScriptCommand.java:108) ~[?:?]
at org.h2.command.dml.RunScriptCommand.update(RunScriptCommand.java:70) ~[?:?]
at org.h2.command.CommandContainer.update(CommandContainer.java:169) ~[?:?]
at org.h2.command.Command.executeUpdate(Command.java:252) ~[?:?]
at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:252) ~[?:?]
at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:223) ~[?:?]
at me.lucko.luckperms.common.storage.implementation.sql.connection.file.H2ConnectionFactory$MigrateH2ToVersion2.run(H2ConnectionFactory.java:137) ~[?:?]
at me.lucko.luckperms.common.storage.implementation.sql.connection.file.H2ConnectionFactory.init(H2ConnectionFactory.java:67) ~[?:?]
at me.lucko.luckperms.common.storage.implementation.sql.SqlStorage.init(SqlStorage.java:164) ~[?:?]
at me.lucko.luckperms.common.storage.Storage.init(Storage.java:115) ~[?:?]
at me.lucko.luckperms.common.storage.StorageFactory.getInstance(StorageFactory.java:87) ~[?:?]
at me.lucko.luckperms.common.plugin.AbstractLuckPermsPlugin.enable(AbstractLuckPermsPlugin.java:184) ~[?:?]
at me.lucko.luckperms.bukkit.LPBukkitBootstrap.onEnable(LPBukkitBootstrap.java:175) ~[?:?]
at me.lucko.luckperms.bukkit.loader.BukkitLoaderPlugin.onEnable(BukkitLoaderPlugin.java:50) ~[LuckPerms-Bukkit-5.4.84.jar:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:279) ~[pufferfishplus-api-1.19.4-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin() ~[pufferfishplus-1.19.4.jar:git-PufferfishPlusPurpur-19]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin() ~[pufferfishplus-1.19.4.jar:git-PufferfishPlusPurpur-19]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:507) ~[pufferfishplus-api-1.19.4-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugin() ~[pufferfishplus-1.19.4.jar:git-PufferfishPlusPurpur-19]
at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugins() ~[pufferfishplus-1.19.4.jar:git-PufferfishPlusPurpur-19]
at net.minecraft.server.dedicated.DedicatedServer.e(DedicatedServer.java) ~[pufferfishplus-1.19.4.jar:git-PufferfishPlusPurpur-19]
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java) ~[pufferfishplus-1.19.4.jar:git-PufferfishPlusPurpur-19]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java) ~[pufferfishplus-1.19.4.jar:git-PufferfishPlusPurpur-19]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
[09:26:34 INFO]: [LuckPerms] Loading internal permission managers...
[09:26:34 INFO]: [LuckPerms] Performing initial data load...
[09:26:34 INFO]: [LuckPerms] Successfully enabled. (took 2089ms)

commented

Best course of action in this situation is to:

  1. Roll back to the last installed version of LuckPerms that worked, and do a /lp export
  2. Stop the server
  3. Delete (create a backup / move it somewhere else) the old database file
  4. Start the server and run /lp import