Slow world save
Sir-Will opened this issue ยท 2 comments
hey,
any chance the saving of the network data can be improved as it is causing lag spikes during auto saves?
[16:20:02] [Thread Locksmith Watchdog/INFO]: [DedicatedServer]: -#-#-#- START THREAD LOCKSMITH -#-#-#-
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: --- Thread 27 ---
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: Name: Server thread
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: Status: RUNNABLE
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: Stacktrace:
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - com.google.common.collect.HashBiMap.seekByValue(HashBiMap.java:235)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - com.google.common.collect.HashBiMap.access$400(HashBiMap.java:58)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - com.google.common.collect.HashBiMap$Inverse.get(HashBiMap.java:573)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - net.minecraftforge.registries.ForgeRegistry.getKey(ForgeRegistry.java:190)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - net.minecraftforge.registries.NamespacedWrapper.getNameForObject(NamespacedWrapper.java:64)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - net.minecraftforge.registries.NamespacedWrapper.func_177774_c(NamespacedWrapper.java:19)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - net.minecraft.item.ItemStack.func_77955_b(ItemStack.java:227)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - sonar.flux.api.ClientFlux.writeData(ClientFlux.java:80)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - sonar.flux.network.NetworkData.lambda$writeToNBT$0(NetworkData.java:99)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - sonar.flux.network.NetworkData$$Lambda$3608/1416683001.accept(Unknown Source)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - java.util.ArrayList.forEach(ArrayList.java:1257)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - sonar.flux.network.NetworkData.func_189551_b(NetworkData.java:99)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - net.minecraft.world.storage.MapStorage.func_75747_a(SourceFile:92)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - net.minecraft.world.storage.MapStorage.func_75744_a(SourceFile:78)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - net.minecraft.world.WorldServer.func_73042_a(WorldServer.java:1052)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - net.minecraft.world.WorldServer.func_73044_a(WorldServer.java:1000)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - net.minecraft.command.server.CommandSaveAll.func_184881_a(SourceFile:41)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - net.minecraft.command.CommandHandler.func_175786_a(CommandHandler.java:119)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - org.spongepowered.common.command.MinecraftCommandWrapper.tryExecute(MinecraftCommandWrapper.java:160)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - org.spongepowered.common.command.MinecraftCommandWrapper.process(MinecraftCommandWrapper.java:145)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - org.spongepowered.api.command.dispatcher.SimpleDispatcher.process(SimpleDispatcher.java:341)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - org.spongepowered.common.command.SpongeCommandManager.process(SpongeCommandManager.java:328)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - net.minecraft.command.ServerCommandManager.func_71556_a(SourceFile:1083)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - net.minecraft.server.dedicated.DedicatedServer.func_71333_ah(DedicatedServer.java:432)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:397)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [threadlock]: - java.lang.Thread.run(Thread.java:748)
[16:20:02] [Thread Locksmith Watchdog/INFO]: [DedicatedServer]: -#-#-#- END THREAD LOCKSMITH -#-#-#-
Reducing the size of the nbt file might help, it's at 493KB atm.
I'm having similar issues. However, it appears to be due to some sort of corruption in one of our networks. I opened up the sonar.flux.networks.configurations.dat file in NBTExplorer (which took forever to open, presumably because it had to unzip the file even though it's only 166kb). One of the networks has 257,357 entries in the "unloaded" list.
I'm not sure what the the list of "unloaded" entries is supposed to contain (trying to expand the list crashed NBTExplorer), but every other network has an empty list.
Edit: Note that replacing the "unloaded" list in that problem network with a blank list from another network and then restarting the server resolved our world save lag issues (and the file is back to a few hundred bytes).
I have no idea what caused the issue that created so many "unloaded" entries, but I do know that the owner of that network had complained that he was seeing issues when trying to manage his network (although everything seemed to be functioning properly).