Createtrack command causes MySQL issue
Closed this issue ยท 8 comments
simpleauthority issued server command: /lp createtrack test
[02:14:33 WARN]: java.util.concurrent.ExecutionException: java.sql.SQLException: Column count doesn't match value count at row 1
[02:14:33 WARN]: at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
[02:14:33 WARN]: at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895)
[02:14:33 WARN]: at me.lucko.luckperms.common.commands.impl.track.CreateTrack.execute(CreateTrack.java:68)
[02:14:33 WARN]: at me.lucko.luckperms.common.commands.abstraction.SingleCommand.execute(SingleCommand.java:51)
[02:14:33 WARN]: at me.lucko.luckperms.common.commands.abstraction.SingleCommand.execute(SingleCommand.java:43)
[02:14:33 WARN]: at me.lucko.luckperms.common.commands.CommandManager.execute(CommandManager.java:197)
[02:14:33 WARN]: at me.lucko.luckperms.common.commands.CommandManager.lambda$onCommand$0(CommandManager.java:142)
[02:14:33 WARN]: at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
[02:14:33 WARN]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[02:14:33 WARN]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[02:14:33 WARN]: at java.lang.Thread.run(Thread.java:748)
[02:14:33 WARN]: Caused by: java.sql.SQLException: Column count doesn't match value count at row 1
[02:14:33 WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964)
[02:14:33 WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)
[02:14:33 WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
[02:14:33 WARN]: at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)
[02:14:33 WARN]: at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680)
[02:14:33 WARN]: at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2487)
[02:14:33 WARN]: at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)
[02:14:33 WARN]: at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1197)
[02:14:33 WARN]: at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44)
[02:14:33 WARN]: at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java)
[02:14:33 WARN]: at me.lucko.luckperms.common.storage.dao.sql.SqlDao.createAndLoadTrack(SqlDao.java:802)
[02:14:33 WARN]: at me.lucko.luckperms.common.storage.AbstractStorage.lambda$createAndLoadTrack$13(AbstractStorage.java:234)
[02:14:33 WARN]: at me.lucko.luckperms.common.storage.AbstractStorage.lambda$makeFuture$0(AbstractStorage.java:84)
[02:14:33 WARN]: at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
[02:14:33 WARN]: at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:71)
[02:14:33 WARN]: at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52)
[02:14:33 WARN]: ... 3 more
I believe something must be broken with our schema, or something else. Has anyone experienced with before?
Uhh no, I've never had reports of issues similar.
You're using a slightly outdated version, so it's quite hard to track exactly where it's failing.
Can you try updating?
https://ci.lucko.me/job/LuckPerms/
@lucko Sure. I've updated to 4.1.16
Same error:
[02:39:25 INFO]: simpleauthority issued server command: /lp createtrack test
[02:39:26 WARN]: java.util.concurrent.ExecutionException: java.sql.SQLException: Column count doesn't match value count at row 1
[02:39:26 WARN]: at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
[02:39:26 WARN]: at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895)
[02:39:26 WARN]: at me.lucko.luckperms.common.commands.impl.track.CreateTrack.execute(CreateTrack.java:68)
[02:39:26 WARN]: at me.lucko.luckperms.common.commands.abstraction.SingleCommand.execute(SingleCommand.java:51)
[02:39:26 WARN]: at me.lucko.luckperms.common.commands.abstraction.SingleCommand.execute(SingleCommand.java:43)
[02:39:26 WARN]: at me.lucko.luckperms.common.commands.CommandManager.execute(CommandManager.java:201)
[02:39:26 WARN]: at me.lucko.luckperms.common.commands.CommandManager.lambda$onCommand$0(CommandManager.java:146)
[02:39:26 WARN]: at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
[02:39:26 WARN]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[02:39:26 WARN]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[02:39:26 WARN]: at java.lang.Thread.run(Thread.java:748)
[02:39:26 WARN]: Caused by: java.sql.SQLException: Column count doesn't match value count at row 1
[02:39:26 WARN]: at me.lucko.luckperms.lib.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)
[02:39:26 WARN]: at me.lucko.luckperms.lib.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)
[02:39:26 WARN]: at me.lucko.luckperms.lib.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
[02:39:26 WARN]: at me.lucko.luckperms.lib.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)
[02:39:26 WARN]: at me.lucko.luckperms.lib.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680)
[02:39:26 WARN]: at me.lucko.luckperms.lib.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)
[02:39:26 WARN]: at me.lucko.luckperms.lib.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)
[02:39:26 WARN]: at me.lucko.luckperms.lib.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1197)
[02:39:26 WARN]: at me.lucko.luckperms.lib.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44)
[02:39:26 WARN]: at me.lucko.luckperms.lib.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java)
[02:39:26 WARN]: at me.lucko.luckperms.common.storage.dao.sql.SqlDao.createAndLoadTrack(SqlDao.java:795)
[02:39:26 WARN]: at me.lucko.luckperms.common.storage.AbstractStorage.lambda$createAndLoadTrack$15(AbstractStorage.java:249)
[02:39:26 WARN]: at me.lucko.luckperms.common.storage.AbstractStorage.lambda$makeFuture$0(AbstractStorage.java:86)
[02:39:26 WARN]: at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
[02:39:26 WARN]: at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:71)
[02:39:26 WARN]: at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52)
[02:39:26 WARN]: ... 3 more
I checked our schema and it looks like this. Everything look okay to you?
mysql> use luckperms;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+-----------------------------+
| Tables_in_luckperms |
+-----------------------------+
| luckperms_actions |
| luckperms_group_permissions |
| luckperms_groups |
| luckperms_players |
| luckperms_tracks |
| luckperms_user_permissions |
| lv_content |
| lv_group_data |
+-----------------------------+
8 rows in set (0.00 sec)
mysql> select * from luckperms_tracks;
+----------+--------------------------------------------------------------------------------------+----------+------------+
| name | groups | order_id | is_visible |
+----------+--------------------------------------------------------------------------------------+----------+------------+
| builder | ["designer","architect"] | 0 | 0 |
| creative | ["champ","spartan","elite","royal","demigod"] | 2 | 1 |
| dweller | ["dweller","settler"] | 0 | 0 |
| staff | ["ambassador","trialmod","mod","supermod","admin","owner"] | 0 | 0 |
| survival | ["dweller","settler","colonist","merchant","pioneer","apprentice","artisan","baron"] | 1 | 1 |
| vip | ["oracle","vip"] | 0 | 0 |
+----------+--------------------------------------------------------------------------------------+----------+------------+
6 rows in set (0.00 sec)
Yeah, looks fine to me
But the error doesn't really make much sense.
Caused by: java.sql.SQLException: Column count doesn't match value count at row 1
My only guess is that something is corrupted in your MySQL server.
You could try recreating the table from the schema.
Going to close this - as far as I can tell there's no issue within LP that could be causing this.
@lucko Doing so would lose data, right?