Skip to content

Commit

Permalink
Remove priviledged thread factory (fix integrated into latest Netty 4…
Browse files Browse the repository at this point in the history
….1.118.Final) (#17325)

Signed-off-by: Andriy Redko <[email protected]>
  • Loading branch information
reta authored Feb 11, 2025
1 parent c82fffe commit f40004a
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 57 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.util.concurrent.Future;

import static org.opensearch.common.util.concurrent.OpenSearchExecutors.privilegedDaemonThreadFactory;
import static org.opensearch.common.util.concurrent.OpenSearchExecutors.daemonThreadFactory;

/**
* Creates and returns {@link io.netty.channel.EventLoopGroup} instances. It will return a shared group for
Expand Down Expand Up @@ -91,7 +91,7 @@ public synchronized SharedGroup getHttpGroup() {
if (dedicatedHttpGroup == null) {
NioEventLoopGroup eventLoopGroup = new NioEventLoopGroup(
httpWorkerCount,
privilegedDaemonThreadFactory(settings, HttpServerTransport.HTTP_SERVER_WORKER_THREAD_NAME_PREFIX)
daemonThreadFactory(settings, HttpServerTransport.HTTP_SERVER_WORKER_THREAD_NAME_PREFIX)
);
dedicatedHttpGroup = new SharedGroup(new RefCountedGroup(eventLoopGroup));
}
Expand All @@ -103,7 +103,7 @@ private SharedGroup getGenericGroup() {
if (genericGroup == null) {
EventLoopGroup eventLoopGroup = new NioEventLoopGroup(
workerCount,
privilegedDaemonThreadFactory(settings, TcpTransport.TRANSPORT_WORKER_THREAD_NAME_PREFIX)
daemonThreadFactory(settings, TcpTransport.TRANSPORT_WORKER_THREAD_NAME_PREFIX)
);
this.genericGroup = new RefCountedGroup(eventLoopGroup);
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.util.concurrent.Future;

import static org.opensearch.common.util.concurrent.OpenSearchExecutors.privilegedDaemonThreadFactory;
import static org.opensearch.common.util.concurrent.OpenSearchExecutors.daemonThreadFactory;

/**
* Creates and returns {@link io.netty.channel.EventLoopGroup} instances. It will return a shared group for
Expand Down Expand Up @@ -89,7 +89,7 @@ public synchronized SharedGroup getHttpGroup() {
if (dedicatedHttpGroup == null) {
NioEventLoopGroup eventLoopGroup = new NioEventLoopGroup(
httpWorkerCount,
privilegedDaemonThreadFactory(settings, HttpServerTransport.HTTP_SERVER_WORKER_THREAD_NAME_PREFIX)
daemonThreadFactory(settings, HttpServerTransport.HTTP_SERVER_WORKER_THREAD_NAME_PREFIX)
);
dedicatedHttpGroup = new SharedGroup(new RefCountedGroup(eventLoopGroup));
}
Expand All @@ -101,7 +101,7 @@ private SharedGroup getGenericGroup() {
if (genericGroup == null) {
EventLoopGroup eventLoopGroup = new NioEventLoopGroup(
workerCount,
privilegedDaemonThreadFactory(settings, TcpTransport.TRANSPORT_WORKER_THREAD_NAME_PREFIX)
daemonThreadFactory(settings, TcpTransport.TRANSPORT_WORKER_THREAD_NAME_PREFIX)
);
this.genericGroup = new RefCountedGroup(eventLoopGroup);
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,6 @@
import org.opensearch.threadpool.RunnableTaskExecutionListener;
import org.opensearch.threadpool.TaskAwareRunnable;

import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.AbstractExecutorService;
Expand Down Expand Up @@ -384,19 +382,6 @@ public static ThreadFactory daemonThreadFactory(String namePrefix) {
return new OpenSearchThreadFactory(namePrefix);
}

public static ThreadFactory privilegedDaemonThreadFactory(Settings settings, String namePrefix) {
return privilegedDaemonThreadFactory(threadName(settings, namePrefix));
}

public static ThreadFactory privilegedDaemonThreadFactory(String nodeName, String namePrefix) {
assert nodeName != null && false == nodeName.isEmpty();
return privilegedDaemonThreadFactory(threadName(nodeName, namePrefix));
}

public static ThreadFactory privilegedDaemonThreadFactory(String namePrefix) {
return new PrivilegedOpenSearchThreadFactory(namePrefix);
}

/**
* A thread factory
*
Expand Down Expand Up @@ -424,42 +409,6 @@ public Thread newThread(Runnable r) {

}

/**
* A thread factory
*
* @opensearch.internal
*/
static class PrivilegedOpenSearchThreadFactory implements ThreadFactory {

final ThreadGroup group;
final AtomicInteger threadNumber = new AtomicInteger(1);
final String namePrefix;

@SuppressWarnings("removal")
PrivilegedOpenSearchThreadFactory(String namePrefix) {
this.namePrefix = namePrefix;
SecurityManager s = System.getSecurityManager();
group = (s != null) ? s.getThreadGroup() : Thread.currentThread().getThreadGroup();
}

@Override
public Thread newThread(Runnable r) {
final Thread t = new Thread(group, new Runnable() {
@SuppressWarnings({ "deprecation", "removal" })
@Override
public void run() {
AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
r.run();
return null;
});
}
}, namePrefix + "[T#" + threadNumber.getAndIncrement() + "]", 0);
t.setDaemon(true);
return t;
}

}

/**
* Cannot instantiate.
*/
Expand Down

0 comments on commit f40004a

Please sign in to comment.