Repository navigation
Patch release that removes the remaining main-thread database reads from the top ten refresh.
馃悰 Bug Fixes
-
Island lookups during the top ten refresh no longer hit the database on the main thread. 2.1.1 moved the game mode's island data read off the main thread, but the step that matched each entry to its BentoBox island still ran on the main thread. BentoBox loads islands into memory on demand, so this step could still read the database:
- On the first refresh after a restart, every island not yet in memory, such as offline players' islands, was loaded from the database.
- For every refresh, each leftover AOneBlock/ChunkBlock entry whose island had been deleted triggered a database existence check. On MySQL and other SQL backends, that's one query per stale entry every 5 minutes.
Island lookups now run in the async refresh task. Unknown islands are skipped without touching the database, and islands are no longer pulled into BentoBox's island cache just to build the top ten. [PR #20]
There are no config, locale, or data format changes, so you can drop this in to replace 2.1.1.
If you're still on 2.1.0 and seeing lag spikes every 5 minutes, upgrade now. 2.1.0 reads the game mode's whole island database on the main thread every refresh.
Compatibility
鉁旓笍 BentoBox API 3.14.0
鉁旓笍 Minecraft 1.21.x (Paper)
鉁旓笍 Java 21
Upgrading
- Stop the server.
- Replace the old TopBlock jar in
plugins/BentoBox/addons/with the new one. - Restart the server.
What's Changed
- Resolve top ten islands off the main thread by @tastybento in #20
Full Changelog: 2.1.1...2.1.2