Skip to content

Commit d037b44

Browse files
authored
Merge pull request #32319 from luneo7/revert-unsafe-2.16
[2.16] Revert io.netty.noUnsafe change
2 parents 34accfc + 54a4d81 commit d037b44

File tree

1 file changed

+3
-11
lines changed

1 file changed

+3
-11
lines changed

extensions/netty/deployment/src/main/java/io/quarkus/netty/deployment/NettyProcessor.java

+3-11
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import io.quarkus.deployment.builditem.nativeimage.RuntimeReinitializedClassBuildItem;
3232
import io.quarkus.deployment.builditem.nativeimage.UnsafeAccessedFieldBuildItem;
3333
import io.quarkus.deployment.logging.LogCleanupFilterBuildItem;
34-
import io.quarkus.deployment.pkg.steps.NativeOrNativeSourcesBuild;
3534
import io.quarkus.netty.BossEventLoopGroup;
3635
import io.quarkus.netty.MainEventLoopGroup;
3736
import io.quarkus.netty.runtime.EmptyByteBufStub;
@@ -78,7 +77,7 @@ public SystemPropertyBuildItem setNettyMachineId() {
7877
return new SystemPropertyBuildItem("io.netty.machineId", nettyMachineId);
7978
}
8079

81-
@BuildStep(onlyIf = NativeOrNativeSourcesBuild.class)
80+
@BuildStep
8281
NativeImageConfigBuildItem build(
8382
NettyBuildTimeConfig config,
8483
BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
@@ -95,8 +94,6 @@ NativeImageConfigBuildItem build(
9594
String maxOrder = calculateMaxOrder(config.allocatorMaxOrder, minMaxOrderBuildItems, false);
9695

9796
NativeImageConfigBuildItem.Builder builder = NativeImageConfigBuildItem.builder()
98-
// disable unsafe usage to allow io.netty.internal.PlarformDependent0 to be reinitialized without issues
99-
.addNativeImageSystemProperty("io.netty.noUnsafe", "true")
10097
// Use small chunks to avoid a lot of wasted space. Default is 16mb * arenas (derived from core count)
10198
// Since buffers are cached to threads, the malloc overhead is temporary anyway
10299
.addNativeImageSystemProperty("io.netty.allocator.maxOrder", maxOrder)
@@ -112,14 +109,8 @@ NativeImageConfigBuildItem build(
112109
.addRuntimeInitializedClass("io.netty.buffer.ByteBufUtil")
113110
// The default channel id uses the process id, it should not be cached in the native image.
114111
.addRuntimeInitializedClass("io.netty.channel.DefaultChannelId")
115-
// Make sure to re-initialize platform dependent classes/values at runtime
116-
.addRuntimeReinitializedClass("io.netty.util.internal.PlatformDependent")
117-
.addRuntimeReinitializedClass("io.netty.util.internal.PlatformDependent0")
118112
.addNativeImageSystemProperty("io.netty.leakDetection.level", "DISABLED");
119113

120-
// Also set io.netty.noUnsafe at runtime
121-
systemProperties.produce(new SystemPropertyBuildItem("io.netty.noUnsafe", "true"));
122-
123114
if (QuarkusClassLoader.isClassPresentAtRuntime("io.netty.handler.codec.http.HttpObjectEncoder")) {
124115
builder
125116
.addRuntimeInitializedClass("io.netty.handler.codec.http.HttpObjectEncoder")
@@ -168,7 +159,8 @@ NativeImageConfigBuildItem build(
168159
log.debug("Not registering Netty native kqueue classes as they were not found");
169160
}
170161

171-
return builder.build();
162+
return builder //TODO: make configurable
163+
.build();
172164
}
173165

174166
@BuildStep

0 commit comments

Comments
 (0)