Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
0b04c96
HADOOP-17655. Upgrade Jetty to 9.4.40. (#2947)
aajisaka Apr 23, 2021
f76a2a7
YARN-10654. Dots '.' in CSMappingRule path variables should be replac…
szilard-nemeth Apr 23, 2021
919daec
YARN-10746. RmWebApp add default-node-label-expression to the queue i…
szilard-nemeth Apr 23, 2021
3b6b21e
YARN-10750. TestMetricsInvariantChecker.testManyRuns is broken since …
szilard-nemeth Apr 23, 2021
14a84c4
YARN-10705. Misleading DEBUG log for container assignment needs to be…
pbacsko Apr 23, 2021
6800b21
HADOOP-17620. DistCp: Use Iterator for listing target directory as we…
ayushtkn Apr 23, 2021
027c8fb
HADOOP-17597. Optionally downgrade on S3A Syncable calls (#2801)
steveloughran Apr 23, 2021
ebf6b14
YARN-10123. Error message around yarn app -stop/start can be improved…
szilard-nemeth Apr 23, 2021
1cbe359
YARN-10743. Add a policy for not aggregating for containers which are…
jbrennan333 Apr 23, 2021
6857a05
YARN-10479. Can't remove all node labels after add node label without
ericbadger Apr 23, 2021
c486dc3
HDFS-15978. Solve DatanodeManager#getBlockRecoveryCommand() printing …
jianghuazhu Apr 25, 2021
88a550b
HADOOP-17112. S3A committers can't handle whitespace in paths. (#2953)
steveloughran Apr 25, 2021
90c6caf
Revert "HDFS-15624. fix the function of setting quota by storage type…
jojochuang Apr 26, 2021
2621d3f
HDFS-15566. NN restart fails after RollingUpgrade from 3.1.3/3.2.1 to…
brahmareddybattula Apr 26, 2021
01bad0e
HDFS-15967. Improve the log for Short Circuit Local Reads. Contribute…
tasanuma Apr 26, 2021
66dda86
HADOOP-17661. mvn versions:set fails to parse pom.xml. (#2952)
jojochuang Apr 26, 2021
538ce9c
HADOOP-17650. Bump solr to unblock build failure with Maven 3.8.1 (#2…
virajjasani Apr 26, 2021
bbf62a0
Revert "HADOOP-17661. mvn versions:set fails to parse pom.xml. (#2952)"
jojochuang Apr 26, 2021
b968fa0
HDFS-15991. Add location into datanode info for NameNodeMXBean (#2933)
tomscut Apr 26, 2021
605ed85
HDFS-15621. Datanode DirectoryScanner uses excessive memory (#2849). …
sodonnel Apr 26, 2021
9166bfe
YARN-10637. fs2cs: add queue autorefresh policy during conversion. Co…
pbacsko Apr 24, 2021
64264d7
HADOOP-17661. mvn versions:set fails to parse pom.xml. (#2956)
jojochuang Apr 27, 2021
ef13f8a
HDFS-15961. standby namenode failed to start ordered snapshot deletio…
bshashikant Apr 27, 2021
f54e764
HADOOP-17536. ABFS: Supporting customer provided encryption key (#2707)
bilaharith Apr 27, 2021
a967ab0
YARN-10739. GenericEventHandler.printEventQueueDetails causes RM reco…
pbacsko Apr 27, 2021
633007a
HADOOP-17674. Use spotbugs-maven-plugin in hadoop-huaweicloud. (#2962)
aajisaka Apr 28, 2021
5b09ba7
YARN-10747. Bump YARN CSI protobuf version to 3.7.1 (#2946)
smengcl Apr 28, 2021
f41a368
HADOOP-11245. Update NFS gateway to use Netty4 (#2832)
jojochuang Apr 29, 2021
b2e5476
HDFS-15624. fix the function of setting quota by storage type (#2377)…
jojochuang Apr 29, 2021
552e9dc
HDFS-15561. RBF: Remove NPE when local namenode is not configured (#2…
fengnanli Apr 29, 2021
803ac4b
YARN-10707. Support custom resources in ResourceUtilization, and upda…
ericbadger Apr 29, 2021
bd3da73
HDFS-15865. Interrupt DataStreamer thread if no ack (#2728)
karthikhw May 1, 2021
f1e1809
HADOOP-17653. Do not use guava's Files.createTempDir(). (#2945)
jojochuang May 2, 2021
6e525ab
HDFS-15810. RBF: RBFMetrics's TotalCapacity out of bounds (#2910)
fengnanli May 2, 2021
7c561e2
HDFS-15952. TestRouterRpcMultiDestination#testProxyGetTransactionID a…
aajisaka May 3, 2021
62bcc79
HADOOP-17676. Restrict imports from org.apache.curator.shaded (#2969)
virajjasani May 3, 2021
e571025
HADOOP-17657: implement StreamCapabilities in SequenceFile.Writer and…
kishendas May 4, 2021
041488e
HDFS-15982. Deleted data using HTTP API should be saved to the trash …
virajjasani May 4, 2021
68425eb
HADOOP-16742. NullPointerException in S3A MultiObjectDeleteSupport
steveloughran May 4, 2021
0d78d73
HADOOP-17675. LdapGroupsMapping$LdapSslSocketFactory ClassNotFoundExc…
fapifta May 4, 2021
76c69c3
HDFS-15934. Make DirectoryScanner reconcile blocks batch size and int…
May 5, 2021
b93e448
HADOOP-11616. Remove workaround for Curator's ChildReaper requiring G…
virajjasani May 5, 2021
7cb7b8a
YARN-10756. Remove additional junit 4.11 dependency from javadoc. (#2…
aajisaka May 6, 2021
f40e3eb
HADOOP-17680. Allow ProtobufRpcEngine to be extensible (#2905) Contri…
hchaverri May 6, 2021
2072102
HADOOP-17375. Fix the error of TestDynamometerInfra. (#2471)
tasanuma May 7, 2021
9aa651f
HDFS-16001. TestOfflineEditsViewer.testStored() fails reading negativ…
aajisaka May 7, 2021
1b69942
HDFS-15923. RBF: Authentication failed when rename accross sub cluste…
wojiaodoubao May 8, 2021
7f93349
HADOOP-17644. Add back the exceptions removed by HADOOP-17432 for com…
ayushtkn May 8, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions hadoop-cloud-storage-project/hadoop-huaweicloud/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,9 @@
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<configuration>
<findbugsXmlOutput>true</findbugsXmlOutput>
<xmlOutput>true</xmlOutput>
<excludeFilterFile>${basedir}/dev-support/findbugs-exclude.xml
</excludeFilterFile>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,11 +79,16 @@ private static Oid getNumericOidInstance(String oidName) {
*
* @return Oid instance
* @param oidName The oid Name
* @throws ClassNotFoundException for backward compatibility.
* @throws GSSException for backward compatibility.
* @throws NoSuchFieldException if the input is not supported.
* @throws IllegalAccessException for backward compatibility.
*
*/
@Deprecated
public static Oid getOidInstance(String oidName)
throws NoSuchFieldException {
throws ClassNotFoundException, GSSException, NoSuchFieldException,
IllegalAccessException {
switch (oidName) {
case "GSS_SPNEGO_MECH_OID":
return GSS_SPNEGO_MECH_OID;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,12 @@ public final class StoreStatisticNames {
/** {@value}. */
public static final String OP_IS_FILE = "op_is_file";

/** {@value}. */
public static final String OP_HFLUSH = "op_hflush";

/** {@value}. */
public static final String OP_HSYNC = "op_hsync";

/** {@value}. */
public static final String OP_IS_DIRECTORY = "op_is_directory";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import org.apache.hadoop.thirdparty.com.google.common.annotations.VisibleForTesting;
import org.apache.hadoop.util.Options;
import org.apache.hadoop.fs.*;
import org.apache.hadoop.fs.StreamCapabilities;
import org.apache.hadoop.fs.Options.CreateOpts;
import org.apache.hadoop.io.compress.CodecPool;
import org.apache.hadoop.io.compress.CompressionCodec;
Expand Down Expand Up @@ -834,7 +835,8 @@ public String toString() {
}

/** Write key/value pairs to a sequence-format file. */
public static class Writer implements java.io.Closeable, Syncable {
public static class Writer implements java.io.Closeable, Syncable,
Flushable, StreamCapabilities {
private Configuration conf;
FSDataOutputStream out;
boolean ownOutputStream = true;
Expand Down Expand Up @@ -1367,6 +1369,21 @@ public void hflush() throws IOException {
out.hflush();
}
}

@Override
public void flush() throws IOException {
if (out != null) {
out.flush();
}
}

@Override
public boolean hasCapability(String capability) {
if (out !=null && capability != null) {
return out.hasCapability(capability);
}
return false;
}

/** Returns the configuration of this file. */
Configuration getConf() { return conf; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ public ProtocolProxy<ProtocolMetaInfoPB> getProtocolMetaInfoProxy(
factory)), false);
}

private static class Invoker implements RpcInvocationHandler {
protected static class Invoker implements RpcInvocationHandler {
private final Map<String, Message> returnTypes =
new ConcurrentHashMap<String, Message>();
private boolean isClosed = false;
Expand All @@ -133,7 +133,7 @@ private static class Invoker implements RpcInvocationHandler {
private AtomicBoolean fallbackToSimpleAuth;
private AlignmentContext alignmentContext;

private Invoker(Class<?> protocol, InetSocketAddress addr,
protected Invoker(Class<?> protocol, InetSocketAddress addr,
UserGroupInformation ticket, Configuration conf, SocketFactory factory,
int rpcTimeout, RetryPolicy connectionRetryPolicy,
AtomicBoolean fallbackToSimpleAuth, AlignmentContext alignmentContext)
Expand All @@ -148,7 +148,7 @@ private Invoker(Class<?> protocol, InetSocketAddress addr,
/**
* This constructor takes a connectionId, instead of creating a new one.
*/
private Invoker(Class<?> protocol, Client.ConnectionId connId,
protected Invoker(Class<?> protocol, Client.ConnectionId connId,
Configuration conf, SocketFactory factory) {
this.remoteId = connId;
this.client = CLIENTS.getClient(conf, factory, RpcWritable.Buffer.class);
Expand Down Expand Up @@ -225,8 +225,6 @@ public Message invoke(Object proxy, final Method method, Object[] args)
traceScope = tracer.newScope(RpcClientUtil.methodToTraceString(method));
}

RequestHeaderProto rpcRequestHeader = constructRpcRequestHeader(method);

if (LOG.isTraceEnabled()) {
LOG.trace(Thread.currentThread().getId() + ": Call -> " +
remoteId + ": " + method.getName() +
Expand All @@ -238,7 +236,7 @@ public Message invoke(Object proxy, final Method method, Object[] args)
final RpcWritable.Buffer val;
try {
val = (RpcWritable.Buffer) client.call(RPC.RpcKind.RPC_PROTOCOL_BUFFER,
new RpcProtobufRequest(rpcRequestHeader, theRequest), remoteId,
constructRpcRequest(method, theRequest), remoteId,
fallbackToSimpleAuth, alignmentContext);

} catch (Throwable e) {
Expand Down Expand Up @@ -283,6 +281,11 @@ public boolean isDone() {
}
}

protected Writable constructRpcRequest(Method method, Message theRequest) {
RequestHeaderProto rpcRequestHeader = constructRpcRequestHeader(method);
return new RpcProtobufRequest(rpcRequestHeader, theRequest);
}

private Message getReturnMessage(final Method method,
final RpcWritable.Buffer buf) throws ServiceException {
Message prototype = null;
Expand Down Expand Up @@ -332,6 +335,14 @@ private Message getReturnProtoType(Method method) throws Exception {
public ConnectionId getConnectionId() {
return remoteId;
}

protected long getClientProtocolVersion() {
return clientProtocolVersion;
}

protected String getProtocolName() {
return protocolName;
}
}

@VisibleForTesting
Expand Down Expand Up @@ -518,6 +529,13 @@ public Writable call(RPC.Server server, String connectionProtocolName,
String declaringClassProtoName =
rpcRequest.getDeclaringClassProtocolName();
long clientVersion = rpcRequest.getClientProtocolVersion();
return call(server, connectionProtocolName, request, receiveTime,
methodName, declaringClassProtoName, clientVersion);
}

protected Writable call(RPC.Server server, String connectionProtocolName,
RpcWritable.Buffer request, long receiveTime, String methodName,
String declaringClassProtoName, long clientVersion) throws Exception {
if (server.verbose)
LOG.info("Call: connectionProtocolName=" + connectionProtocolName +
", method=" + methodName);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ public ProtocolProxy<ProtocolMetaInfoPB> getProtocolMetaInfoProxy(
factory)), false);
}

private static final class Invoker implements RpcInvocationHandler {
protected static class Invoker implements RpcInvocationHandler {
private final Map<String, Message> returnTypes =
new ConcurrentHashMap<String, Message>();
private boolean isClosed = false;
Expand All @@ -127,7 +127,7 @@ private static final class Invoker implements RpcInvocationHandler {
private AtomicBoolean fallbackToSimpleAuth;
private AlignmentContext alignmentContext;

private Invoker(Class<?> protocol, InetSocketAddress addr,
protected Invoker(Class<?> protocol, InetSocketAddress addr,
UserGroupInformation ticket, Configuration conf, SocketFactory factory,
int rpcTimeout, RetryPolicy connectionRetryPolicy,
AtomicBoolean fallbackToSimpleAuth, AlignmentContext alignmentContext)
Expand All @@ -142,7 +142,7 @@ private Invoker(Class<?> protocol, InetSocketAddress addr,
/**
* This constructor takes a connectionId, instead of creating a new one.
*/
private Invoker(Class<?> protocol, Client.ConnectionId connId,
protected Invoker(Class<?> protocol, Client.ConnectionId connId,
Configuration conf, SocketFactory factory) {
this.remoteId = connId;
this.client = CLIENTS.getClient(conf, factory, RpcWritable.Buffer.class);
Expand Down Expand Up @@ -219,8 +219,6 @@ public Message invoke(Object proxy, final Method method, Object[] args)
traceScope = tracer.newScope(RpcClientUtil.methodToTraceString(method));
}

RequestHeaderProto rpcRequestHeader = constructRpcRequestHeader(method);

if (LOG.isTraceEnabled()) {
LOG.trace(Thread.currentThread().getId() + ": Call -> " +
remoteId + ": " + method.getName() +
Expand All @@ -232,7 +230,7 @@ public Message invoke(Object proxy, final Method method, Object[] args)
final RpcWritable.Buffer val;
try {
val = (RpcWritable.Buffer) client.call(RPC.RpcKind.RPC_PROTOCOL_BUFFER,
new RpcProtobufRequest(rpcRequestHeader, theRequest), remoteId,
constructRpcRequest(method, theRequest), remoteId,
fallbackToSimpleAuth, alignmentContext);

} catch (Throwable e) {
Expand Down Expand Up @@ -279,6 +277,11 @@ public boolean isDone() {
}
}

protected Writable constructRpcRequest(Method method, Message theRequest) {
RequestHeaderProto rpcRequestHeader = constructRpcRequestHeader(method);
return new RpcProtobufRequest(rpcRequestHeader, theRequest);
}

private Message getReturnMessage(final Method method,
final RpcWritable.Buffer buf) throws ServiceException {
Message prototype = null;
Expand Down Expand Up @@ -328,6 +331,14 @@ private Message getReturnProtoType(Method method) throws Exception {
public ConnectionId getConnectionId() {
return remoteId;
}

protected long getClientProtocolVersion() {
return clientProtocolVersion;
}

protected String getProtocolName() {
return protocolName;
}
}

@VisibleForTesting
Expand Down Expand Up @@ -509,6 +520,13 @@ public Writable call(RPC.Server server, String connectionProtocolName,
String declaringClassProtoName =
rpcRequest.getDeclaringClassProtocolName();
long clientVersion = rpcRequest.getClientProtocolVersion();
return call(server, connectionProtocolName, request, receiveTime,
methodName, declaringClassProtoName, clientVersion);
}

protected Writable call(RPC.Server server, String connectionProtocolName,
RpcWritable.Buffer request, long receiveTime, String methodName,
String declaringClassProtoName, long clientVersion) throws Exception {
if (server.verbose) {
LOG.info("Call: connectionProtocolName=" + connectionProtocolName +
", method=" + methodName);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -643,7 +643,29 @@ private DirContext getDirContext() throws NamingException {
env.put("com.sun.jndi.ldap.read.timeout", conf.get(READ_TIMEOUT,
String.valueOf(READ_TIMEOUT_DEFAULT)));

ctx = new InitialDirContext(env);
// See HADOOP-17675 for details TLDR:
// From a native thread the thread's context classloader is null.
// jndi internally in the InitialDirContext specifies the context
// classloader for Class.forName, and as it is null, jndi will use the
// bootstrap classloader in this case to laod the socket factory
// implementation.
// BUT
// Bootstrap classloader does not have it in its classpath, so throws a
// ClassNotFoundException.
// This affects Impala for example when it uses LdapGroupsMapping.
ClassLoader currentContextLoader =
Thread.currentThread().getContextClassLoader();
if (currentContextLoader == null) {
try {
Thread.currentThread().setContextClassLoader(
this.getClass().getClassLoader());
ctx = new InitialDirContext(env);
} finally {
Thread.currentThread().setContextClassLoader(null);
}
} else {
ctx = new InitialDirContext(env);
}
}
return ctx;
}
Expand Down
Loading