Many fixes and improvements to chunk prioritization

I believe this brings us back to stable. A lot of complexity was
learned about juggling priorities.

We were essentially promoting more chunks to urgent than really
needed to be urgent.

So this commit adds a lot more logic to juggle neighbor priorities
and demote their priority once they meet the requirements needed of
them.

This greatly improves the performance of "urgent" chunks".

Fixes #3410
Fixes #3426
Fixes #3425
Fixes #3416
This commit is contained in:
Aikar 2020-05-22 00:46:44 -04:00
parent 281181c7c7
commit 4d38ee111f
No known key found for this signature in database
GPG key ID: 401ADFC9891FAAFE
11 changed files with 328 additions and 220 deletions

View file

@ -65,6 +65,9 @@ fi
folder="$basedir/Paper-Server"
jar="$folder/target/paper-${minecraftversion}.jar"
if [ ! -z "$PAPER_JAR" ]; then
jar="$PAPER_JAR"
fi
if [ ! -d "$folder" ]; then
(
echo "Building Patched Repo"
@ -73,14 +76,13 @@ if [ ! -d "$folder" ]; then
)
fi
if [ ! -f "$jar" ] || [ "$2" == "build" ] || [ "$3" == "build" ]; then
if [ "$2" == "build" ] || [ "$3" == "build" ]; then
(
echo "Building Paper"
cd "$basedir"
mvn package
)
fi
#
# JVM FLAGS
#
@ -102,7 +104,9 @@ tmux_command="tmux new-session -A -s Paper -n 'Paper Test' -c '$(pwd)' '$cmd'"
multiplex=${PAPER_TEST_MULTIPLEXER}
if [ "$multiplex" == "screen" ]; then
if [ ! -z "$PAPER_NO_MULTIPLEX" ]; then
cmd="$cmd"
elif [ "$multiplex" == "screen" ]; then
if command -v "screen" >/dev/null 2>&1 ; then
cmd="$screen_command"
else
@ -136,6 +140,6 @@ if [ ! -z "$PAPER_TEST_COMMAND_WRAPPER" ]; then
else
echo "Running command: $cmd"
echo "In directory: $(pwd)"
sleep 1
#sleep 1
/usr/bin/env bash -c "$cmd"
fi