Hey there, we're trying out Pl3xMap on our server atm and I've noticed something strange: The plugin fails to update player and marker data as well as the world settings. After some digging I found the cause:
For some reason the Runnable given to ForkJoinPool.execute is never actually run. I suspect that is is due to other plugins using the same pool an somehow blocking it. I don't know which one would cause this, however (I've included a plugin list below).
Because FileUtil.write is only ever called from BukkitRunnables I propose the following solution (if this is not caused by another plugin): Don't submit the task to a ForkJoinPool (or at least not the default commonPool), instead just call replaceFile directly.
Testing this, it does not seem to cause a meaningful MSPT increase (< 10 players online).
Hey there, we're trying out Pl3xMap on our server atm and I've noticed something strange: The plugin fails to update player and marker data as well as the world settings. After some digging I found the cause:
https://github.com/NeumimTo/Pl3xMap/blob/708cd08e1efe1b596f3cbc65fe9fcb909f749e0e/plugin/src/main/java/net/pl3x/map/plugin/util/FileUtil.java#L160-L168
For some reason the
Runnable
given toForkJoinPool.execute
is never actually run. I suspect that is is due to other plugins using the same pool an somehow blocking it. I don't know which one would cause this, however (I've included a plugin list below).Because
FileUtil.write
is only ever called fromBukkitRunnable
s I propose the following solution (if this is not caused by another plugin): Don't submit the task to aForkJoinPool
(or at least not the defaultcommonPool
), instead just callreplaceFile
directly.Testing this, it does not seem to cause a meaningful MSPT increase (< 10 players online).
Plugin List
Pl3xMap Configuration
config.yml:
advanced.yml: