Log the shaded form of native workdir system property (#8867)
Motivation: When users' /tmp is noexec, NativeLibraryLoader logs a message informing them how to fix the problem by setting a system property. However, if Netty has been shaded that message will tell them to set the un-shaded system property name, which won't work. Modifications: Change the code to let shading tools rename the native.workdir property name reference within user-visible log messages. Notably, debug logs were _not_ changed, as there's many debug statements including a variety of property names. Fixing them would be a much more invasive change and have limited benefit. Result: The users will see the correctly-named system property to set if they are using a noexec /tmp.
This commit is contained in:
parent
8fecbab2c5
commit
098705040d
@ -217,10 +217,13 @@ public final class NativeLibraryLoader {
|
|||||||
try {
|
try {
|
||||||
if (tmpFile != null && tmpFile.isFile() && tmpFile.canRead() &&
|
if (tmpFile != null && tmpFile.isFile() && tmpFile.canRead() &&
|
||||||
!NoexecVolumeDetector.canExecuteExecutable(tmpFile)) {
|
!NoexecVolumeDetector.canExecuteExecutable(tmpFile)) {
|
||||||
|
// Pass "io.netty.native.workdir" as an argument to allow shading tools to see
|
||||||
|
// the string. Since this is printed out to users to tell them what to do next,
|
||||||
|
// we want the value to be correct even when shading.
|
||||||
logger.info("{} exists but cannot be executed even when execute permissions set; " +
|
logger.info("{} exists but cannot be executed even when execute permissions set; " +
|
||||||
"check volume for \"noexec\" flag; use -Dio.netty.native.workdir=[path] " +
|
"check volume for \"noexec\" flag; use -D{}=[path] " +
|
||||||
"to set native working directory separately.",
|
"to set native working directory separately.",
|
||||||
tmpFile.getPath());
|
tmpFile.getPath(), "io.netty.native.workdir");
|
||||||
}
|
}
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
suppressed.add(t);
|
suppressed.add(t);
|
||||||
|
Loading…
Reference in New Issue
Block a user