Closed LeBlach closed 2 weeks ago
I see a mixture of things:
blocklimits: HOPPER: 200 SPAWNER: 1000 entitylimits: villager: 5
I removed the limit plugin and the lag was fixed.
Sorry, I don't have a timings report.
I shut down my server, I wrote JSON2SQLITE in bentobox config, then I turned on my server and got these errors.
Tasty, I tried migration on 2.2.0 and it worked, but on 2.4.0-dev it stopped working. It as complaining about too many accessing at the same time to SQLite database.
Also I tried to migrate from SQLite to JSON and had the same issue.
Migrating form JSON to MariaDB also run into issues. Something with migration is not working anymore.
Okay. Thanks @BONNe. It sounds like this needs some looking into then.
JSON2MARIADB works okay for me. I don't have a huge database, but it moved everything. @BONNe what error did you see? I'll try SQLite.
>bbox migrate
[08:04:13] [Server thread/INFO]: BentoBox > Migrating addons
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.bentobox.database.objects.Players
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.controlpanel.database.objects.ControlPanelObject
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.bentobox.database.objects.Island
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.level.objects.IslandLevels
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.challenges.database.object.Challenge
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.magiccobblestonegenerator.database.objects.GeneratorBundleObject
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.warps.objects.WarpsData
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.bank.data.BankAccounts
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.biomes.database.objects.BiomesBundleObject
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.bentobox.database.objects.TeamInvite
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.cauldronwitchery.database.object.MagicStickObject
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.biomes.database.objects.BiomesObject
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.biomes.database.objects.BiomesIslandDataObject
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating com.wasteofplastic.invswitcher.dataobjects.InventoryStorage
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.aoneblock.dataobjects.OneBlockIslands
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.level.objects.LevelsData
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.challenges.database.object.ChallengeLevel
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.bentobox.database.objects.IslandDeletion
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.bentobox.database.objects.Ranks
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.magiccobblestonegenerator.database.objects.GeneratorTierObject
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.challenges.database.object.ChallengesPlayerData
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.bentobox.database.objects.Names
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.checkmeout.objects.SubmissionData
[08:04:13] [Server thread/INFO]: BentoBox > Migrated
[08:04:13] [Server thread/INFO]: BentoBox > Migrating world.bentobox.greenhouses.data.Greenhouse
[08:04:14] [Server thread/INFO]: BentoBox > Migrated
[08:04:14] [Server thread/INFO]: BentoBox > Migrating world.bentobox.limits.objects.IslandBlockCount
[08:04:14] [Server thread/INFO]: BentoBox > Migrated
[08:04:14] [Server thread/INFO]: BentoBox > Migrating world.bentobox.magiccobblestonegenerator.database.objects.GeneratorDataObject
[08:04:14] [Server thread/INFO]: BentoBox > Migrated
[08:04:14] [Server thread/INFO]: BentoBox > Migrating world.bentobox.likes.database.objects.LikesObject
[08:04:14] [Server thread/INFO]: BentoBox > Migrated
[08:04:14] [Server thread/INFO]: BentoBox > Migrating world.bentobox.warps.objects.SignCache
[08:04:14] [Server thread/INFO]: BentoBox > Migrated
SQLite also moved fine. I'm guessing it may be something to do with he size of the database. Let me try and find one that is bigger...
I had a look at the code and found the root cause:
Additional Problem (major):
For the main issue, there are two potential solutions:
I really wanted to do 2, but it became very complicated, which for a function that should be run just once, and very rarely, made the lift too heavy. So, I just added a 1 second delay to each table in the migration command, which is more than enough to allow the transition to happen. It's not a perfect solution, but good enough. These changes apply to any transition.
So, transitions should be more robust now. I'd like to get feedback on whether any other issues are seen.
Expected behavior
I'm probably experiencing a lot of lag because of the json, but when I want to migrate from JSON to SQLITE, I can't migrate because I get a lot of errors.
When I download from bentoboxworld site, I only get database locked error, but in jenkins version it can't even find the data of the players.
Observed/Actual behavior
The plugin is supposed to transfer the data correctly, but it fails to do so.
Steps/models to reproduce
BentoBox version
2.4.0 SNAPSHOT-b2645
Plugin list
I don't want to share.
Other
No response