Skip to content

Commit f40004a

Browse files
authored
Remove priviledged thread factory (fix integrated into latest Netty 4.1.118.Final) (#17325)
Signed-off-by: Andriy Redko <drreta@gmail.com>
1 parent c82fffe commit f40004a

File tree

3 files changed

+6
-57
lines changed

3 files changed

+6
-57
lines changed

modules/transport-netty4/src/main/java/org/opensearch/transport/SharedGroupFactory.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
import io.netty.channel.nio.NioEventLoopGroup;
4848
import io.netty.util.concurrent.Future;
4949

50-
import static org.opensearch.common.util.concurrent.OpenSearchExecutors.privilegedDaemonThreadFactory;
50+
import static org.opensearch.common.util.concurrent.OpenSearchExecutors.daemonThreadFactory;
5151

5252
/**
5353
* Creates and returns {@link io.netty.channel.EventLoopGroup} instances. It will return a shared group for
@@ -91,7 +91,7 @@ public synchronized SharedGroup getHttpGroup() {
9191
if (dedicatedHttpGroup == null) {
9292
NioEventLoopGroup eventLoopGroup = new NioEventLoopGroup(
9393
httpWorkerCount,
94-
privilegedDaemonThreadFactory(settings, HttpServerTransport.HTTP_SERVER_WORKER_THREAD_NAME_PREFIX)
94+
daemonThreadFactory(settings, HttpServerTransport.HTTP_SERVER_WORKER_THREAD_NAME_PREFIX)
9595
);
9696
dedicatedHttpGroup = new SharedGroup(new RefCountedGroup(eventLoopGroup));
9797
}
@@ -103,7 +103,7 @@ private SharedGroup getGenericGroup() {
103103
if (genericGroup == null) {
104104
EventLoopGroup eventLoopGroup = new NioEventLoopGroup(
105105
workerCount,
106-
privilegedDaemonThreadFactory(settings, TcpTransport.TRANSPORT_WORKER_THREAD_NAME_PREFIX)
106+
daemonThreadFactory(settings, TcpTransport.TRANSPORT_WORKER_THREAD_NAME_PREFIX)
107107
);
108108
this.genericGroup = new RefCountedGroup(eventLoopGroup);
109109
} else {

plugins/transport-reactor-netty4/src/main/java/org/opensearch/transport/reactor/SharedGroupFactory.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
import io.netty.channel.nio.NioEventLoopGroup;
3030
import io.netty.util.concurrent.Future;
3131

32-
import static org.opensearch.common.util.concurrent.OpenSearchExecutors.privilegedDaemonThreadFactory;
32+
import static org.opensearch.common.util.concurrent.OpenSearchExecutors.daemonThreadFactory;
3333

3434
/**
3535
* Creates and returns {@link io.netty.channel.EventLoopGroup} instances. It will return a shared group for
@@ -89,7 +89,7 @@ public synchronized SharedGroup getHttpGroup() {
8989
if (dedicatedHttpGroup == null) {
9090
NioEventLoopGroup eventLoopGroup = new NioEventLoopGroup(
9191
httpWorkerCount,
92-
privilegedDaemonThreadFactory(settings, HttpServerTransport.HTTP_SERVER_WORKER_THREAD_NAME_PREFIX)
92+
daemonThreadFactory(settings, HttpServerTransport.HTTP_SERVER_WORKER_THREAD_NAME_PREFIX)
9393
);
9494
dedicatedHttpGroup = new SharedGroup(new RefCountedGroup(eventLoopGroup));
9595
}
@@ -101,7 +101,7 @@ private SharedGroup getGenericGroup() {
101101
if (genericGroup == null) {
102102
EventLoopGroup eventLoopGroup = new NioEventLoopGroup(
103103
workerCount,
104-
privilegedDaemonThreadFactory(settings, TcpTransport.TRANSPORT_WORKER_THREAD_NAME_PREFIX)
104+
daemonThreadFactory(settings, TcpTransport.TRANSPORT_WORKER_THREAD_NAME_PREFIX)
105105
);
106106
this.genericGroup = new RefCountedGroup(eventLoopGroup);
107107
} else {

server/src/main/java/org/opensearch/common/util/concurrent/OpenSearchExecutors.java

-51
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,6 @@
4343
import org.opensearch.threadpool.RunnableTaskExecutionListener;
4444
import org.opensearch.threadpool.TaskAwareRunnable;
4545

46-
import java.security.AccessController;
47-
import java.security.PrivilegedAction;
4846
import java.util.List;
4947
import java.util.Optional;
5048
import java.util.concurrent.AbstractExecutorService;
@@ -384,19 +382,6 @@ public static ThreadFactory daemonThreadFactory(String namePrefix) {
384382
return new OpenSearchThreadFactory(namePrefix);
385383
}
386384

387-
public static ThreadFactory privilegedDaemonThreadFactory(Settings settings, String namePrefix) {
388-
return privilegedDaemonThreadFactory(threadName(settings, namePrefix));
389-
}
390-
391-
public static ThreadFactory privilegedDaemonThreadFactory(String nodeName, String namePrefix) {
392-
assert nodeName != null && false == nodeName.isEmpty();
393-
return privilegedDaemonThreadFactory(threadName(nodeName, namePrefix));
394-
}
395-
396-
public static ThreadFactory privilegedDaemonThreadFactory(String namePrefix) {
397-
return new PrivilegedOpenSearchThreadFactory(namePrefix);
398-
}
399-
400385
/**
401386
* A thread factory
402387
*
@@ -424,42 +409,6 @@ public Thread newThread(Runnable r) {
424409

425410
}
426411

427-
/**
428-
* A thread factory
429-
*
430-
* @opensearch.internal
431-
*/
432-
static class PrivilegedOpenSearchThreadFactory implements ThreadFactory {
433-
434-
final ThreadGroup group;
435-
final AtomicInteger threadNumber = new AtomicInteger(1);
436-
final String namePrefix;
437-
438-
@SuppressWarnings("removal")
439-
PrivilegedOpenSearchThreadFactory(String namePrefix) {
440-
this.namePrefix = namePrefix;
441-
SecurityManager s = System.getSecurityManager();
442-
group = (s != null) ? s.getThreadGroup() : Thread.currentThread().getThreadGroup();
443-
}
444-
445-
@Override
446-
public Thread newThread(Runnable r) {
447-
final Thread t = new Thread(group, new Runnable() {
448-
@SuppressWarnings({ "deprecation", "removal" })
449-
@Override
450-
public void run() {
451-
AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
452-
r.run();
453-
return null;
454-
});
455-
}
456-
}, namePrefix + "[T#" + threadNumber.getAndIncrement() + "]", 0);
457-
t.setDaemon(true);
458-
return t;
459-
}
460-
461-
}
462-
463412
/**
464413
* Cannot instantiate.
465414
*/

0 commit comments

Comments
 (0)