1.14.1 large database not loading mysql/sqlite

Issue #37 resolved
Former user created an issue

I enabled this - server freeze. The plugin not loading database or loading forever. :(
This load all placed blocks? Because chunk loading very slowly on 1.14.1 :(

Comments (20)

  1. Hans Kurel repo owner

    Test if the 2.2c-BETA with the general.loading.use-old-system set to true is working.

  2. Former user Account Deleted reporter

    I tested 2.2c-BETA woth old loading system. The server freezes and generate 100% processor usage. I waited 1 hour and database not loaded.
    I tested new loading system. I waited 10 hours and database not loaded.

  3. Former user Account Deleted reporter

    4 million block on the database. 1.13.2 load time with the new system 5 minutes. I don’t know not work with 1.14.1.
    Maybe Spigot changed sqlite on 1.14.1 and cause this?

  4. Former user Account Deleted reporter

    Once plugin write this error on server stop and not loaded all blocks from database.

    [14:58:48] [Server thread/INFO]: Saving players
    [14:58:48] [Server thread/INFO]: Saving worlds
    [14:58:48] [Server thread/INFO]: Saving chunks for level 'world'/minecraft:overworld
    [14:58:48] [Craft Scheduler Thread - 34/WARN]: java.sql.SQLException: The prepared statement has been finalized
    [14:58:48] [Craft Scheduler Thread - 34/WARN]:  at org.sqlite.core.NativeDB.throwex(NativeDB.java:478)
    [14:58:48] [Craft Scheduler Thread - 34/WARN]:  at org.sqlite.core.NativeDB.step(Native Method)
    [14:58:48] [Craft Scheduler Thread - 34/WARN]:  at org.sqlite.jdbc3.JDBC3ResultSet.next(JDBC3ResultSet.java:74)
    [14:58:48] [Craft Scheduler Thread - 34/WARN]:  at me.prunt.restrictedcreative.storage.DataHandler$1.run(DataHandler.java:364)
    [14:58:48] [Craft Scheduler Thread - 34/WARN]:  at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftTask.run(CraftTask.java:84)
    [14:58:48] [Craft Scheduler Thread - 34/WARN]:  at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54)
    [14:58:48] [Craft Scheduler Thread - 34/WARN]:  at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22)
    [14:58:48] [Craft Scheduler Thread - 34/WARN]:  at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    [14:58:48] [Craft Scheduler Thread - 34/WARN]:  at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    [14:58:48] [Craft Scheduler Thread - 34/WARN]:  at java.base/java.lang.Thread.run(Thread.java:834)
    [14:58:48] [Craft Scheduler Thread - 34/INFO]: Kreatív > Loaded 5016 blocks from database!
    [14:58:48] [Craft Scheduler Thread - 34/INFO]: Kreatív > Done! Took 459026ms
    
  5. Former user Account Deleted reporter

    How to convert this database to mysql?
    Maybe works loading with mysql if this bug can not be fixed…

  6. Former user Account Deleted reporter

    I converted database to mysql and same problem. Perhaps the error might be that the plugin check at all the blocks that are placed.
    Please add option disable check blocks on the database loading or fix this.

  7. Po Ma

    @Prunt Would you mind answer to this? We can’t run our server, because if there is no database loaded, they can easily break blocks which have been placed in creative mode. This is a high priority issue on our server, please fix this.

    Thanks in advance.

  8. Hans Kurel repo owner

    Yes, sorry, I’ve been really busy with work and studying for exams lately, but I’ll try to come up with a fix today.

  9. Hans Kurel repo owner

    So I tested with the database you provided me and for some reason it has trouble indeed. I suspect it’s because the creative blocks are scattered across the world and the chunks (in which the creative blocks are located) are loaded, which slows down the server until it crashes. I’ll see if I can come up with something that doesn’t load those chunks.

  10. Hans Kurel repo owner

    I did some googling and I couldn’t find a way to avoid loading chunks. I’ll probably have to divide loading blocks to batches, which will take a lot longer (better than crashing, though). Maybe I’ll be able to load blocks per chunk, but that’d mean that I’d have to change the database structure. I’ll post an update tomorrow.

  11. Hans Kurel repo owner

    Sorry, I had an exam today and time flew by faster than I anticipated. I’ll work on the update first thing tomorrow morning.

  12. Hans Kurel repo owner

    I believe I’ve finally found a new loading method that doesn’t choke everything that touches it. Refactoring will take a bit of time, but an update should be released soon.

  13. Hans Kurel repo owner

    Should be fixed in the next version. Be sure to set the general.loading.use-old-system back to false, because the new system is the one I fixed.

  14. Log in to comment