@InterfaceAudience.Private public final class LocatedBlockHelper extends Object
DatanodeInfo[]
to
DatanodeInfoWithStorage[]
, which causes the JVM can not locate the method if we are
compiled with hadoop 3.2 and then link with hadoop 3.3+, so here we need to use reflection to
make it work for both hadoop versions, otherwise we need to publish more artifacts for different
hadoop versions...Modifier and Type | Field and Description |
---|---|
private static Method |
GET_LOCATED_BLOCK_LOCATIONS_METHOD |
Modifier | Constructor and Description |
---|---|
private |
LocatedBlockHelper() |
Modifier and Type | Method and Description |
---|---|
static org.apache.hadoop.hdfs.protocol.DatanodeInfo[] |
getLocatedBlockLocations(org.apache.hadoop.hdfs.protocol.LocatedBlock block) |
private static final Method GET_LOCATED_BLOCK_LOCATIONS_METHOD
private LocatedBlockHelper()
public static org.apache.hadoop.hdfs.protocol.DatanodeInfo[] getLocatedBlockLocations(org.apache.hadoop.hdfs.protocol.LocatedBlock block)
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.