LuckPerms

LuckPerms

41.4k Downloads

Database problem: Delays, Ping-Drops

Keendi opened this issue · 2 comments

commented

Description

Hi, I have a very unusual problem.

I have Luckperms on Velocity + 10 paperspigots (all newest version)

I had luckperms on MySQL (MariaDB) and it was the only plugin that worked with high latency (/lp editor runs after 30-60s, /lp sync totally don't work), long connections to the some servers (up to 10s), etc.

I moved it the day before yesterday to MongoDB and the problems with long connecting to the server or opening the web editor for a long time disappeared but a new problem appeared! This time Luckperms is doing player ping drops, and my players are complaining that there is lag in every mode (The worst part is that there are no bugs in the console)

I use Redis to communication

All luckperms settings is default
I checked the network and everything works fine, I have 99.99% of SLA in OVH GAME 1 (Poland)
I checked the server from the hardware side and everything works fine as well
The rest of the plugins on my server work fine and a lot of them use the MariaDB database and some databases, e.g. Login (JPremium), are much larger than the one from Luckperms

Unfortunately, there is nothing in the logs, no errors at all, as if the problem did not exist. I don't know how to solve it, I need help 😦

Reproduction Steps

  1. Install Redis + MariaDB + phpmyadmin + Velocity on the same machine.
  2. Run
  3. And here I don't know what to write anymore, because that's about it. I would have to give you access to my machine so that you could see it with your own eyes... Because no one believes me that such a bug exists and for 2 years I have not been able to solve it and I have tried EVERYTHING

Expected Behaviour

I expected what each plugin offers - stability, reliability and speed.

Server Details

Newest Velocity Version, Newest 1.19.2 Paper Version

LuckPerms Version

v5.4.49

Logs and Configs

https://pastes.dev/8c5QqvQG8K

Extra Details

Please don't want to do this if you want to show everything inside... because I feel that no one will believe me that such a mistake is ...

commented

With MongoDB after use /lp editor the command will be delayed by 10s and console throw now error:

Tested on 1.19.2 paperspigot

[11:55:20 WARN]: [LuckPerms] Command execution [editor] has not completed. Trace:
[email protected]/jdk.internal.misc.Unsafe.park(Native Method)
[email protected]/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
[email protected]/java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1864)
[email protected]/java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3463)
[email protected]/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3434)
[email protected]/java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1898)
[email protected]/java.util.concurrent.CompletableFuture.join(CompletableFuture.java:2117)
me.lucko.luckperms.common.webeditor.WebEditorRequest.findMatchingOfflineUsers(WebEditorRequest.java:273)
me.lucko.luckperms.common.webeditor.WebEditorRequest.includeMatchingUsers(WebEditorRequest.java:228)
me.lucko.luckperms.common.webeditor.WebEditorRequest.includeMatchingUsers(WebEditorRequest.java:209)
me.lucko.luckperms.common.commands.misc.EditorCommand.execute(EditorCommand.java:91)
me.lucko.luckperms.common.command.abstraction.SingleCommand.execute(SingleCommand.java:56)
me.lucko.luckperms.common.command.abstraction.SingleCommand.execute(SingleCommand.java:48)
me.lucko.luckperms.common.command.CommandManager.execute(CommandManager.java:265)
me.lucko.luckperms.common.command.CommandManager.lambda$executeCommand$1(CommandManager.java:169)
me.lucko.luckperms.common.command.CommandManager$$Lambda$13455/0x0000000803805ea0.run(Unknown Source)
[email protected]/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)
[email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[email protected]/java.lang.Thread.run(Thread.java:833)

but the second time I typed it again it worked blazing fast with no problem and no errors!

commented

Sounds like database performance issues - unfortunately not something I have time to help you with personally, but that's what it'll be :)