diff --git a/Spigot-Server-Patches/0461-Increase-Light-Queue-Size.patch b/Spigot-Server-Patches/0461-Increase-Light-Queue-Size.patch new file mode 100644 index 000000000..a70889637 --- /dev/null +++ b/Spigot-Server-Patches/0461-Increase-Light-Queue-Size.patch @@ -0,0 +1,45 @@ +From e1153f57b2ad89bb3036887742013b493efb2117 Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Wed, 8 Apr 2020 21:24:05 -0400 +Subject: [PATCH] Increase Light Queue Size + +Wiz mentioned that large WorldEdit operations cause light to run on +main thread. The queue was small, set to 5.. this bumps it to 20 +but makes it configurable per-world. + +The main risk of increasing this higher is during shutdown, some +queued light updates may be lost because mojang did not flush the +light engine on shutdown... + +The queue size only puts a cap on max loss, doesn't solve that problem. + +diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +index 659a011e97..88a45e517c 100644 +--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java ++++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +@@ -684,4 +684,9 @@ public class PaperWorldConfig { + private void trackerUpdateDistance() { + trackerUpdateDistance = getDouble("tracker-update-distance", trackerUpdateDistance); + } ++ ++ public int lightQueueSize = 20; ++ private void lightQueueSize() { ++ lightQueueSize = getInt("light-queue-size", lightQueueSize); ++ } + } +diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java +index c9deaffc4a..06c395000f 100644 +--- a/src/main/java/net/minecraft/server/MinecraftServer.java ++++ b/src/main/java/net/minecraft/server/MinecraftServer.java +@@ -649,7 +649,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant