From 5f98d3fac5033f1065174d8542aeb8b3e44e109e Mon Sep 17 00:00:00 2001 From: Josh Roy <10731363+JRoy@users.noreply.github.com> Date: Fri, 24 Dec 2021 21:40:41 -0500 Subject: [PATCH] Add mitigation for JDK-8274349 (#4711) --- .../java/net/essentialsx/discord/EssentialsDiscord.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/EssentialsDiscord.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/EssentialsDiscord.java index 438f8455a..fcc24e099 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/EssentialsDiscord.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/EssentialsDiscord.java @@ -36,6 +36,13 @@ public class EssentialsDiscord extends JavaPlugin implements IEssentialsModule { getLogger().log(Level.WARNING, tl("versionMismatchAll")); } + // JDK-8274349 - Mitigation for a regression in Java 17 on 1 core systems which was fixed in 17.0.2 + final String[] javaVersion = System.getProperty("java.version").split("\\."); + if (Runtime.getRuntime().availableProcessors() <= 1 && javaVersion[0].startsWith("17") && (javaVersion.length < 2 || (javaVersion[1].equals("0") && javaVersion[2].startsWith("1")))) { + logger.log(Level.INFO, "Essentials is mitigating JDK-8274349"); + System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", "1"); + } + isPAPI = getServer().getPluginManager().getPlugin("PlaceholderAPI") != null; settings = new DiscordSettings(this);