HADOOP-17858. Avoid possible class loading deadlock with VerifierNone initialization (#3321)

(cherry picked from commit fc566ad9b0)
This commit is contained in:
Viraj Jasani 2021-08-24 19:11:59 +05:30 committed by Takanobu Asanuma
parent ce100b5807
commit f26a547f2b
3 changed files with 3 additions and 4 deletions

View File

@ -24,7 +24,6 @@ import java.net.SocketAddress;
import com.google.common.annotations.VisibleForTesting;
import org.apache.hadoop.oncrpc.RpcAcceptedReply.AcceptState;
import org.apache.hadoop.oncrpc.security.Verifier;
import org.apache.hadoop.oncrpc.security.VerifierNone;
import org.apache.hadoop.portmap.PortmapMapping;
import org.apache.hadoop.portmap.PortmapRequest;
@ -214,7 +213,7 @@ public abstract class RpcProgram extends SimpleChannelUpstreamHandler {
private void sendAcceptedReply(RpcCall call, SocketAddress remoteAddress,
AcceptState acceptState, ChannelHandlerContext ctx) {
RpcAcceptedReply reply = RpcAcceptedReply.getInstance(call.getXid(),
acceptState, Verifier.VERIFIER_NONE);
acceptState, VerifierNone.INSTANCE);
XDR out = new XDR();
reply.write(out);

View File

@ -27,8 +27,6 @@ import org.apache.hadoop.oncrpc.XDR;
*/
public abstract class Verifier extends RpcAuthInfo {
public static final Verifier VERIFIER_NONE = new VerifierNone();
protected Verifier(AuthFlavor flavor) {
super(flavor);
}

View File

@ -24,6 +24,8 @@ import com.google.common.base.Preconditions;
/** Verifier used by AUTH_NONE. */
public class VerifierNone extends Verifier {
public static final Verifier INSTANCE = new VerifierNone();
public VerifierNone() {
super(AuthFlavor.AUTH_NONE);
}