HADOOP-16908. Prune Jackson 1 from the codebase and restrict it's usage for future (#3789)
Signed-off-by: Akira Ajisaka <aajisaka@apache.org>
This commit is contained in:
parent
07141426e0
commit
04b6b9a87b
|
@ -147,6 +147,24 @@
|
|||
<groupId>com.sun.jersey</groupId>
|
||||
<artifactId>jersey-json</artifactId>
|
||||
<scope>compile</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-core-asl</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-mapper-asl</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-jaxrs</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-xc</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.sun.jersey</groupId>
|
||||
|
|
|
@ -21,8 +21,9 @@ package org.apache.hadoop.metrics2;
|
|||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
import org.apache.hadoop.classification.InterfaceAudience;
|
||||
import org.apache.hadoop.classification.InterfaceStability;
|
||||
import org.codehaus.jackson.map.ObjectMapper;
|
||||
import org.codehaus.jackson.map.ObjectWriter;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.ObjectWriter;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
|
|
@ -50,7 +50,8 @@ import org.apache.hadoop.hdfs.server.namenode.NameNode;
|
|||
import org.apache.hadoop.ipc.RemoteException;
|
||||
import org.apache.hadoop.ipc.StandbyException;
|
||||
import org.apache.hadoop.test.GenericTestUtils;
|
||||
import org.codehaus.jackson.map.ObjectMapper;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.junit.After;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
|
|
|
@ -32,6 +32,10 @@ import java.util.concurrent.ConcurrentHashMap;
|
|||
import java.util.concurrent.atomic.AtomicLong;
|
||||
import java.util.concurrent.locks.ReentrantReadWriteLock;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.ObjectWriter;
|
||||
|
||||
import org.apache.hadoop.classification.InterfaceAudience;
|
||||
import org.apache.hadoop.conf.Configuration;
|
||||
import org.apache.hadoop.fs.FileSystem;
|
||||
|
@ -60,10 +64,6 @@ import org.apache.hadoop.util.DiskChecker.DiskErrorException;
|
|||
import org.apache.hadoop.util.ReflectionUtils;
|
||||
import org.apache.hadoop.util.Time;
|
||||
import org.apache.hadoop.util.Timer;
|
||||
import org.codehaus.jackson.annotate.JsonProperty;
|
||||
import org.codehaus.jackson.map.ObjectMapper;
|
||||
import org.codehaus.jackson.map.ObjectReader;
|
||||
import org.codehaus.jackson.map.ObjectWriter;
|
||||
|
||||
import org.apache.hadoop.classification.VisibleForTesting;
|
||||
|
||||
|
@ -371,14 +371,11 @@ class ProvidedVolumeImpl extends FsVolumeImpl {
|
|||
|
||||
private static final ObjectWriter WRITER =
|
||||
new ObjectMapper().writerWithDefaultPrettyPrinter();
|
||||
private static final ObjectReader READER =
|
||||
new ObjectMapper().reader(ProvidedBlockIteratorState.class);
|
||||
|
||||
private static class ProvidedBlockIteratorState {
|
||||
ProvidedBlockIteratorState() {
|
||||
iterStartMs = Time.now();
|
||||
lastSavedMs = iterStartMs;
|
||||
atEnd = false;
|
||||
lastBlockId = -1L;
|
||||
}
|
||||
|
||||
|
@ -390,9 +387,6 @@ class ProvidedVolumeImpl extends FsVolumeImpl {
|
|||
@JsonProperty
|
||||
private long iterStartMs;
|
||||
|
||||
@JsonProperty
|
||||
private boolean atEnd;
|
||||
|
||||
// The id of the last block read when the state of the iterator is saved.
|
||||
// This implementation assumes that provided blocks are returned
|
||||
// in sorted order of the block ids.
|
||||
|
|
|
@ -870,6 +870,22 @@
|
|||
<groupId>stax</groupId>
|
||||
<artifactId>stax-api</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-core-asl</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-mapper-asl</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-jaxrs</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-xc</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
|
|
@ -178,18 +178,6 @@
|
|||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-mapper-asl</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-core-asl</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.wildfly.openssl</groupId>
|
||||
<artifactId>wildfly-openssl</artifactId>
|
||||
|
|
|
@ -18,8 +18,8 @@
|
|||
|
||||
package org.apache.hadoop.fs.azurebfs.contracts.services;
|
||||
|
||||
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
|
||||
import org.codehaus.jackson.annotate.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import org.apache.hadoop.classification.InterfaceStability;
|
||||
|
||||
|
|
|
@ -20,8 +20,8 @@ package org.apache.hadoop.fs.azurebfs.contracts.services;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
|
||||
import org.codehaus.jackson.annotate.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import org.apache.hadoop.classification.InterfaceStability;
|
||||
|
||||
|
|
|
@ -30,9 +30,10 @@ import java.util.Hashtable;
|
|||
import java.util.Map;
|
||||
|
||||
import org.apache.hadoop.util.Preconditions;
|
||||
import org.codehaus.jackson.JsonFactory;
|
||||
import org.codehaus.jackson.JsonParser;
|
||||
import org.codehaus.jackson.JsonToken;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonFactory;
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.core.JsonToken;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
@ -451,7 +452,7 @@ public final class AzureADAuthenticator {
|
|||
long expiresOnInSecs = -1;
|
||||
|
||||
JsonFactory jf = new JsonFactory();
|
||||
JsonParser jp = jf.createJsonParser(httpResponseStream);
|
||||
JsonParser jp = jf.createParser(httpResponseStream);
|
||||
String fieldName, fieldValue;
|
||||
jp.nextToken();
|
||||
while (jp.hasCurrentToken()) {
|
||||
|
|
|
@ -30,11 +30,11 @@ import javax.net.ssl.SSLSocketFactory;
|
|||
|
||||
import org.apache.hadoop.fs.azurebfs.utils.UriUtils;
|
||||
import org.apache.hadoop.security.ssl.DelegatingSSLSocketFactory;
|
||||
import org.codehaus.jackson.JsonFactory;
|
||||
import org.codehaus.jackson.JsonParser;
|
||||
import org.codehaus.jackson.JsonToken;
|
||||
import org.codehaus.jackson.map.ObjectMapper;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonFactory;
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.core.JsonToken;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
@ -467,7 +467,7 @@ public class AbfsHttpOperation implements AbfsPerfLoggable {
|
|||
return;
|
||||
}
|
||||
JsonFactory jf = new JsonFactory();
|
||||
try (JsonParser jp = jf.createJsonParser(stream)) {
|
||||
try (JsonParser jp = jf.createParser(stream)) {
|
||||
String fieldName, fieldValue;
|
||||
jp.nextToken(); // START_OBJECT - {
|
||||
jp.nextToken(); // FIELD_NAME - "error":
|
||||
|
|
|
@ -20,7 +20,7 @@ package org.apache.hadoop.fs.azurebfs.contract;
|
|||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.codehaus.jackson.map.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.apache.hadoop.fs.azurebfs.contracts.services.ListResultEntrySchema;
|
||||
|
|
|
@ -54,9 +54,10 @@ import org.apache.hadoop.security.UserGroupInformation;
|
|||
import org.apache.hadoop.util.Time;
|
||||
import org.apache.hadoop.yarn.YarnUncaughtExceptionHandler;
|
||||
import org.apache.hadoop.yarn.api.ApplicationConstants.Environment;
|
||||
import org.codehaus.jackson.JsonFactory;
|
||||
import org.codehaus.jackson.JsonParser;
|
||||
import org.codehaus.jackson.JsonToken;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonFactory;
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.core.JsonToken;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
|
||||
|
@ -484,7 +485,7 @@ public final class DynoInfraUtils {
|
|||
final Set<String> dataNodesToReport = new HashSet<>();
|
||||
|
||||
JsonFactory fac = new JsonFactory();
|
||||
JsonParser parser = fac.createJsonParser(IOUtils
|
||||
JsonParser parser = fac.createParser(IOUtils
|
||||
.toInputStream(liveNodeJsonString, StandardCharsets.UTF_8.name()));
|
||||
|
||||
int objectDepth = 0;
|
||||
|
@ -554,7 +555,7 @@ public final class DynoInfraUtils {
|
|||
}
|
||||
InputStream in = conn.getInputStream();
|
||||
JsonFactory fac = new JsonFactory();
|
||||
JsonParser parser = fac.createJsonParser(in);
|
||||
JsonParser parser = fac.createParser(in);
|
||||
if (parser.nextToken() != JsonToken.START_OBJECT
|
||||
|| parser.nextToken() != JsonToken.FIELD_NAME
|
||||
|| !parser.getCurrentName().equals("beans")
|
||||
|
|
|
@ -81,6 +81,24 @@
|
|||
<dependency>
|
||||
<groupId>com.sun.jersey</groupId>
|
||||
<artifactId>jersey-json</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-core-asl</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-mapper-asl</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-jaxrs</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-xc</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
|
|
|
@ -17,6 +17,13 @@
|
|||
*/
|
||||
package org.apache.hadoop.yarn.sls.synthetic;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.core.JsonFactory;
|
||||
import com.fasterxml.jackson.core.JsonFactoryBuilder;
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.JsonMappingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.apache.commons.math3.distribution.AbstractRealDistribution;
|
||||
|
@ -30,18 +37,13 @@ import org.apache.hadoop.tools.rumen.JobStoryProducer;
|
|||
import org.apache.hadoop.yarn.api.records.ExecutionType;
|
||||
import org.apache.hadoop.yarn.exceptions.YarnRuntimeException;
|
||||
import org.apache.hadoop.yarn.sls.appmaster.MRAMSimulator;
|
||||
import org.codehaus.jackson.annotate.JsonCreator;
|
||||
import org.codehaus.jackson.annotate.JsonProperty;
|
||||
import org.codehaus.jackson.map.JsonMappingException;
|
||||
import org.codehaus.jackson.map.ObjectMapper;
|
||||
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import static org.codehaus.jackson.JsonParser.Feature.INTERN_FIELD_NAMES;
|
||||
import static org.codehaus.jackson.map.DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES;
|
||||
import static com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES;
|
||||
|
||||
/**
|
||||
* This is a JobStoryProducer that operates from distribution of different
|
||||
|
@ -84,15 +86,16 @@ public class SynthTraceJobProducer implements JobStoryProducer {
|
|||
this.conf = conf;
|
||||
this.rand = new JDKRandomGenerator();
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
mapper.configure(INTERN_FIELD_NAMES, true);
|
||||
JsonFactoryBuilder jsonFactoryBuilder = new JsonFactoryBuilder();
|
||||
jsonFactoryBuilder.configure(JsonFactory.Feature.INTERN_FIELD_NAMES, true);
|
||||
ObjectMapper mapper = new ObjectMapper(jsonFactoryBuilder.build());
|
||||
mapper.configure(FAIL_ON_UNKNOWN_PROPERTIES, false);
|
||||
|
||||
FileSystem ifs = path.getFileSystem(conf);
|
||||
FSDataInputStream fileIn = ifs.open(path);
|
||||
|
||||
// Initialize the random generator and the seed
|
||||
this.trace = mapper.readValue(fileIn, Trace.class);
|
||||
this.trace = mapper.readValue(fileIn.getWrappedStream(), Trace.class);
|
||||
this.seed = trace.rand_seed;
|
||||
this.rand.setSeed(seed);
|
||||
// Initialize the trace
|
||||
|
@ -538,9 +541,9 @@ public class SynthTraceJobProducer implements JobStoryProducer {
|
|||
if(val!=null){
|
||||
if(std==null){
|
||||
// Constant
|
||||
if(dist!=null || discrete!=null || weights!=null){
|
||||
throw new JsonMappingException("Instantiation of " + Sample.class
|
||||
+ " failed");
|
||||
if (dist != null || discrete != null || weights != null) {
|
||||
throw JsonMappingException
|
||||
.from((JsonParser) null, "Instantiation of " + Sample.class + " failed");
|
||||
}
|
||||
mode = Mode.CONST;
|
||||
this.val = val;
|
||||
|
@ -550,9 +553,9 @@ public class SynthTraceJobProducer implements JobStoryProducer {
|
|||
this.weights = null;
|
||||
} else {
|
||||
// Distribution
|
||||
if(discrete!=null || weights != null){
|
||||
throw new JsonMappingException("Instantiation of " + Sample.class
|
||||
+ " failed");
|
||||
if (discrete != null || weights != null) {
|
||||
throw JsonMappingException
|
||||
.from((JsonParser) null, "Instantiation of " + Sample.class + " failed");
|
||||
}
|
||||
mode = Mode.DIST;
|
||||
this.val = val;
|
||||
|
@ -563,9 +566,9 @@ public class SynthTraceJobProducer implements JobStoryProducer {
|
|||
}
|
||||
} else {
|
||||
// Discrete
|
||||
if(discrete==null){
|
||||
throw new JsonMappingException("Instantiation of " + Sample.class
|
||||
+ " failed");
|
||||
if (discrete == null) {
|
||||
throw JsonMappingException
|
||||
.from((JsonParser) null, "Instantiation of " + Sample.class + " failed");
|
||||
}
|
||||
mode = Mode.DISC;
|
||||
this.val = 0;
|
||||
|
@ -576,9 +579,9 @@ public class SynthTraceJobProducer implements JobStoryProducer {
|
|||
weights = new ArrayList<>(Collections.nCopies(
|
||||
discrete.size(), 1.0));
|
||||
}
|
||||
if(weights.size() != discrete.size()){
|
||||
throw new JsonMappingException("Instantiation of " + Sample.class
|
||||
+ " failed");
|
||||
if (weights.size() != discrete.size()) {
|
||||
throw JsonMappingException
|
||||
.from((JsonParser) null, "Instantiation of " + Sample.class + " failed");
|
||||
}
|
||||
this.weights = weights;
|
||||
}
|
||||
|
|
|
@ -19,11 +19,14 @@ package org.apache.hadoop.yarn.sls;
|
|||
|
||||
import org.apache.commons.math3.random.JDKRandomGenerator;
|
||||
import org.apache.hadoop.yarn.api.records.ExecutionType;
|
||||
import org.codehaus.jackson.map.JsonMappingException;
|
||||
import org.codehaus.jackson.map.ObjectMapper;
|
||||
import org.apache.hadoop.conf.Configuration;
|
||||
import org.apache.hadoop.yarn.sls.synthetic.SynthJob;
|
||||
import org.apache.hadoop.yarn.sls.synthetic.SynthTraceJobProducer;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonFactory;
|
||||
import com.fasterxml.jackson.core.JsonFactoryBuilder;
|
||||
import com.fasterxml.jackson.databind.JsonMappingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
|
@ -32,12 +35,10 @@ import org.slf4j.LoggerFactory;
|
|||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
|
||||
import static com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import static org.codehaus.jackson.JsonParser.Feature.INTERN_FIELD_NAMES;
|
||||
import static org.codehaus.jackson.map.DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES;
|
||||
|
||||
/**
|
||||
* Simple test class driving the {@code SynthTraceJobProducer}, and validating
|
||||
* jobs produce are within expected range.
|
||||
|
@ -56,8 +57,9 @@ public class TestSynthJobGeneration {
|
|||
+ "{\"time\": 60, \"weight\": 2}," + "{\"time\": 90, \"weight\": 1}"
|
||||
+ "]}";
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
mapper.configure(INTERN_FIELD_NAMES, true);
|
||||
JsonFactoryBuilder jsonFactoryBuilder = new JsonFactoryBuilder();
|
||||
jsonFactoryBuilder.configure(JsonFactory.Feature.INTERN_FIELD_NAMES, true);
|
||||
ObjectMapper mapper = new ObjectMapper(jsonFactoryBuilder.build());
|
||||
mapper.configure(FAIL_ON_UNKNOWN_PROPERTIES, false);
|
||||
SynthTraceJobProducer.Workload wl =
|
||||
mapper.readValue(workloadJson, SynthTraceJobProducer.Workload.class);
|
||||
|
@ -176,8 +178,9 @@ public class TestSynthJobGeneration {
|
|||
@Test
|
||||
public void testSample() throws IOException {
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
mapper.configure(INTERN_FIELD_NAMES, true);
|
||||
JsonFactoryBuilder jsonFactoryBuilder = new JsonFactoryBuilder();
|
||||
jsonFactoryBuilder.configure(JsonFactory.Feature.INTERN_FIELD_NAMES, true);
|
||||
ObjectMapper mapper = new ObjectMapper(jsonFactoryBuilder.build());
|
||||
mapper.configure(FAIL_ON_UNKNOWN_PROPERTIES, false);
|
||||
|
||||
JDKRandomGenerator rand = new JDKRandomGenerator();
|
||||
|
@ -235,7 +238,7 @@ public class TestSynthJobGeneration {
|
|||
mapper.readValue(invalidDistJson, SynthTraceJobProducer.Sample.class);
|
||||
Assert.fail();
|
||||
} catch (JsonMappingException e) {
|
||||
Assert.assertTrue(e.getMessage().startsWith("Instantiation of"));
|
||||
Assert.assertTrue(e.getMessage().startsWith("Cannot construct instance of"));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -95,6 +95,24 @@
|
|||
<groupId>com.sun.jersey</groupId>
|
||||
<artifactId>jersey-json</artifactId>
|
||||
<version>${jersey.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-core-asl</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-mapper-asl</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-jaxrs</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-xc</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
|
|
|
@ -158,6 +158,24 @@
|
|||
<dependency>
|
||||
<groupId>com.sun.jersey</groupId>
|
||||
<artifactId>jersey-json</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-core-asl</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-mapper-asl</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-jaxrs</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-xc</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.sun.jersey.contribs</groupId>
|
||||
|
|
|
@ -28,11 +28,12 @@ import org.apache.hadoop.security.Credentials;
|
|||
import org.apache.hadoop.security.token.Token;
|
||||
import org.apache.hadoop.security.token.TokenIdentifier;
|
||||
import org.apache.hadoop.yarn.security.DockerCredentialTokenIdentifier;
|
||||
import org.codehaus.jackson.JsonFactory;
|
||||
import org.codehaus.jackson.JsonNode;
|
||||
import org.codehaus.jackson.JsonParser;
|
||||
import org.codehaus.jackson.map.ObjectMapper;
|
||||
import org.codehaus.jackson.node.ObjectNode;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonFactory;
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.File;
|
||||
|
@ -97,13 +98,13 @@ public final class DockerClientConfigHandler {
|
|||
|
||||
// Parse the JSON and create the Tokens/Credentials.
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
JsonFactory factory = mapper.getJsonFactory();
|
||||
JsonParser parser = factory.createJsonParser(contents);
|
||||
JsonFactory factory = mapper.getFactory();
|
||||
JsonParser parser = factory.createParser(contents);
|
||||
JsonNode rootNode = mapper.readTree(parser);
|
||||
|
||||
Credentials credentials = new Credentials();
|
||||
if (rootNode.has(CONFIG_AUTHS_KEY)) {
|
||||
Iterator<String> iter = rootNode.get(CONFIG_AUTHS_KEY).getFieldNames();
|
||||
Iterator<String> iter = rootNode.get(CONFIG_AUTHS_KEY).fieldNames();
|
||||
for (; iter.hasNext();) {
|
||||
String registryUrl = iter.next();
|
||||
String registryCred = rootNode.get(CONFIG_AUTHS_KEY)
|
||||
|
@ -169,14 +170,14 @@ public final class DockerClientConfigHandler {
|
|||
DockerCredentialTokenIdentifier ti =
|
||||
(DockerCredentialTokenIdentifier) tk.decodeIdentifier();
|
||||
ObjectNode registryCredNode = mapper.createObjectNode();
|
||||
registryUrlNode.put(ti.getRegistryUrl(), registryCredNode);
|
||||
registryUrlNode.set(ti.getRegistryUrl(), registryCredNode);
|
||||
registryCredNode.put(CONFIG_AUTH_KEY,
|
||||
new String(tk.getPassword(), Charset.forName("UTF-8")));
|
||||
LOG.debug("Prepared token for write: {}", tk);
|
||||
}
|
||||
}
|
||||
if (foundDockerCred) {
|
||||
rootNode.put(CONFIG_AUTHS_KEY, registryUrlNode);
|
||||
rootNode.set(CONFIG_AUTHS_KEY, registryUrlNode);
|
||||
String json = mapper.writerWithDefaultPrettyPrinter()
|
||||
.writeValueAsString(rootNode);
|
||||
FileUtils.writeStringToFile(
|
||||
|
|
|
@ -94,6 +94,24 @@
|
|||
<dependency>
|
||||
<groupId>com.sun.jersey</groupId>
|
||||
<artifactId>jersey-json</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-core-asl</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-mapper-asl</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-jaxrs</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-xc</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.sun.jersey.contribs</groupId>
|
||||
|
|
|
@ -154,6 +154,24 @@
|
|||
<dependency>
|
||||
<groupId>com.sun.jersey</groupId>
|
||||
<artifactId>jersey-json</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-core-asl</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-mapper-asl</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-jaxrs</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-xc</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.sun.jersey.contribs</groupId>
|
||||
|
|
|
@ -25,15 +25,17 @@ import java.util.LinkedList;
|
|||
import java.util.List;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
import org.apache.hadoop.classification.InterfaceAudience.Private;
|
||||
import org.apache.hadoop.conf.Configuration;
|
||||
import org.apache.hadoop.security.UserGroupInformation;
|
||||
import org.apache.hadoop.yarn.conf.YarnConfiguration;
|
||||
import org.apache.hadoop.yarn.exceptions.YarnRuntimeException;
|
||||
import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.Container;
|
||||
import org.codehaus.jackson.annotate.JsonIgnore;
|
||||
import org.codehaus.jackson.annotate.JsonProperty;
|
||||
import org.codehaus.jackson.map.ObjectMapper;
|
||||
|
||||
/**
|
||||
* The NetworkTagMapping JsonManager implementation.
|
||||
|
|
|
@ -62,8 +62,6 @@ import org.apache.hadoop.yarn.server.nodemanager.containermanager.runtime.Contai
|
|||
import org.apache.hadoop.yarn.server.nodemanager.containermanager.runtime.ContainerRuntimeContext;
|
||||
import org.apache.hadoop.yarn.server.nodemanager.containermanager.volume.csi.ContainerVolumePublisher;
|
||||
import org.apache.hadoop.yarn.server.nodemanager.executor.ContainerExecContext;
|
||||
import org.codehaus.jackson.JsonNode;
|
||||
import org.codehaus.jackson.map.ObjectMapper;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
@ -81,6 +79,9 @@ import java.util.concurrent.ScheduledExecutorService;
|
|||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.regex.Matcher;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
import static org.apache.hadoop.yarn.conf.YarnConfiguration.DEFAULT_NM_RUNC_IMAGE_TAG_TO_MANIFEST_PLUGIN;
|
||||
import static org.apache.hadoop.yarn.conf.YarnConfiguration.DEFAULT_NM_RUNC_LAYER_MOUNTS_TO_KEEP;
|
||||
import static org.apache.hadoop.yarn.conf.YarnConfiguration.DEFAULT_NM_REAP_RUNC_LAYER_MOUNTS_INTERVAL;
|
||||
|
@ -642,7 +643,7 @@ public class RuncContainerRuntime extends OCIContainerRuntime {
|
|||
if (envNode.isMissingNode()) {
|
||||
return null;
|
||||
}
|
||||
return mapper.readValue(envNode, List.class);
|
||||
return mapper.readValue(envNode.traverse(), List.class);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
|
@ -653,7 +654,7 @@ public class RuncContainerRuntime extends OCIContainerRuntime {
|
|||
if (entrypointNode.isMissingNode()) {
|
||||
return null;
|
||||
}
|
||||
return mapper.readValue(entrypointNode, List.class);
|
||||
return mapper.readValue(entrypointNode.traverse(), List.class);
|
||||
}
|
||||
|
||||
private RuncContainerExecutorConfig createRuncContainerExecutorConfig(
|
||||
|
|
|
@ -29,7 +29,6 @@ import org.apache.hadoop.fs.FileSystem;
|
|||
import org.apache.hadoop.fs.Path;
|
||||
import org.apache.hadoop.service.AbstractService;
|
||||
import org.apache.hadoop.util.concurrent.HadoopExecutors;
|
||||
import org.codehaus.jackson.map.ObjectMapper;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
|
@ -45,6 +44,8 @@ import java.util.concurrent.ScheduledExecutorService;
|
|||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
import static org.apache.hadoop.yarn.conf.YarnConfiguration.DEFAULT_NM_RUNC_CACHE_REFRESH_INTERVAL;
|
||||
import static org.apache.hadoop.yarn.conf.YarnConfiguration.DEFAULT_NM_RUNC_IMAGE_TOPLEVEL_DIR;
|
||||
import static org.apache.hadoop.yarn.conf.YarnConfiguration.DEFAULT_NUM_MANIFESTS_TO_CACHE;
|
||||
|
|
|
@ -20,12 +20,13 @@
|
|||
package org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.runc;
|
||||
|
||||
import org.apache.hadoop.classification.InterfaceStability;
|
||||
import org.codehaus.jackson.annotate.JsonRawValue;
|
||||
import org.codehaus.jackson.map.annotate.JsonSerialize;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonRawValue;
|
||||
|
||||
/**
|
||||
* This class is used by the
|
||||
* {@link org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.RuncContainerRuntime}
|
||||
|
@ -35,7 +36,7 @@ import java.util.Map;
|
|||
* a JSON object named ociRuntimeConfig that mirrors the
|
||||
* OCI runtime specification.
|
||||
*/
|
||||
@JsonSerialize(include=JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
@InterfaceStability.Unstable
|
||||
public class RuncContainerExecutorConfig {
|
||||
final private String version;
|
||||
|
@ -164,7 +165,7 @@ public class RuncContainerExecutorConfig {
|
|||
/**
|
||||
* This class is a Java representation of an OCI image layer.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
@InterfaceStability.Unstable
|
||||
public static class OCILayer {
|
||||
final private String mediaType;
|
||||
|
@ -192,7 +193,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the OCI Runtime Specification.
|
||||
*/
|
||||
@InterfaceStability.Unstable
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class OCIRuntimeConfig {
|
||||
final private OCIRootConfig root;
|
||||
final private List<OCIMount> mounts;
|
||||
|
@ -254,7 +255,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the oci root config section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class OCIRootConfig {
|
||||
public String getPath() {
|
||||
return path;
|
||||
|
@ -281,7 +282,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the oci mount section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class OCIMount {
|
||||
final private String destination;
|
||||
final private String type;
|
||||
|
@ -329,7 +330,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the oci process section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class OCIProcessConfig {
|
||||
final private boolean terminal;
|
||||
final private ConsoleSize consoleSize;
|
||||
|
@ -422,7 +423,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the console size section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class ConsoleSize {
|
||||
public int getHeight() {
|
||||
return height;
|
||||
|
@ -450,7 +451,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the rlimits section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class RLimits {
|
||||
public String getType() {
|
||||
return type;
|
||||
|
@ -484,7 +485,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the capabilities section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class Capabilities {
|
||||
final private List<String> effective;
|
||||
final private List<String> bounding;
|
||||
|
@ -554,7 +555,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the oci hooks section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class OCIHooksConfig {
|
||||
final private List<HookType> prestart;
|
||||
final private List<HookType> poststart;
|
||||
|
@ -587,7 +588,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the hook type section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class HookType {
|
||||
final private String path;
|
||||
final private List<String> args;
|
||||
|
@ -650,7 +651,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the oci linux config section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class OCILinuxConfig {
|
||||
final private List<Namespace> namespaces;
|
||||
final private List<IDMapping> uidMappings;
|
||||
|
@ -768,7 +769,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the idmapping section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class IDMapping {
|
||||
final private int containerID;
|
||||
final private int hostID;
|
||||
|
@ -802,7 +803,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the device section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class Device {
|
||||
final private String type;
|
||||
final private String path;
|
||||
|
@ -861,7 +862,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the resources section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class Resources {
|
||||
final private List<Device> device;
|
||||
final private Memory memory;
|
||||
|
@ -927,7 +928,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the device section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class Device {
|
||||
final private boolean allow;
|
||||
final private String type;
|
||||
|
@ -973,7 +974,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the memory section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class Memory {
|
||||
final private long limit;
|
||||
final private long reservation;
|
||||
|
@ -1032,7 +1033,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the cpu section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class CPU {
|
||||
final private long quota;
|
||||
final private long period;
|
||||
|
@ -1092,7 +1093,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the blockio section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class BlockIO {
|
||||
final private int weight;
|
||||
final private int leafWeight;
|
||||
|
@ -1153,7 +1154,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the weight device section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class WeightDevice {
|
||||
final private long major;
|
||||
final private long minor;
|
||||
|
@ -1193,7 +1194,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the throttle device section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class ThrottleDevice {
|
||||
final private long major;
|
||||
final private long minor;
|
||||
|
@ -1227,7 +1228,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the huge page limits section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class HugePageLimits {
|
||||
final private String pageSize;
|
||||
final private long limit;
|
||||
|
@ -1254,7 +1255,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the network section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class Network {
|
||||
final private int classID;
|
||||
final private List<NetworkPriority> priorities;
|
||||
|
@ -1280,7 +1281,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the network priority section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class NetworkPriority {
|
||||
final private String name;
|
||||
final private int priority;
|
||||
|
@ -1308,7 +1309,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the pid section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class PID {
|
||||
final private long limit;
|
||||
|
||||
|
@ -1329,7 +1330,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the rdma section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class RDMA {
|
||||
final private int hcaHandles;
|
||||
final private int hcaObjects;
|
||||
|
@ -1357,7 +1358,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the intelrdt section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class IntelRdt {
|
||||
final private String closID;
|
||||
final private String l3CacheSchema;
|
||||
|
@ -1391,7 +1392,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the sysctl section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class Sysctl {
|
||||
// for kernel params
|
||||
}
|
||||
|
@ -1400,7 +1401,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the seccomp section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class Seccomp {
|
||||
final private String defaultAction;
|
||||
final private List<String> architectures;
|
||||
|
@ -1433,7 +1434,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the syscall section
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class Syscall {
|
||||
final private List<String> names;
|
||||
final private String action;
|
||||
|
@ -1466,7 +1467,7 @@ public class RuncContainerExecutorConfig {
|
|||
* This class is a Java representation of the seccomp arguments
|
||||
* of the OCI Runtime Specification.
|
||||
*/
|
||||
@JsonSerialize(include = JsonSerialize.Inclusion.NON_DEFAULT)
|
||||
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
|
||||
public static class SeccompArg {
|
||||
final private int index;
|
||||
final private long value;
|
||||
|
|
|
@ -57,7 +57,6 @@ import org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.Reso
|
|||
import org.apache.hadoop.yarn.server.nodemanager.containermanager.runtime.ContainerExecutionException;
|
||||
import org.apache.hadoop.yarn.server.nodemanager.containermanager.runtime.ContainerRuntimeConstants;
|
||||
import org.apache.hadoop.yarn.server.nodemanager.containermanager.runtime.ContainerRuntimeContext;
|
||||
import org.codehaus.jackson.map.ObjectMapper;
|
||||
import org.junit.After;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
|
|
|
@ -24,7 +24,8 @@ import org.apache.commons.io.FileUtils;
|
|||
import org.apache.hadoop.conf.Configuration;
|
||||
import org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.runc.ImageManifest;
|
||||
import org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.runc.ImageTagToManifestPlugin;
|
||||
import org.codehaus.jackson.map.ObjectMapper;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.junit.After;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
|
|
|
@ -58,8 +58,9 @@ import org.apache.hadoop.yarn.server.nodemanager.containermanager.runtime.Contai
|
|||
import org.apache.hadoop.yarn.server.nodemanager.containermanager.runtime.ContainerRuntimeConstants;
|
||||
import org.apache.hadoop.yarn.server.nodemanager.containermanager.runtime.ContainerRuntimeContext;
|
||||
import org.apache.hadoop.yarn.server.nodemanager.LocalDirsHandlerService;
|
||||
import org.codehaus.jackson.JsonNode;
|
||||
import org.codehaus.jackson.map.ObjectMapper;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.junit.After;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
|
@ -501,7 +502,7 @@ public class TestRuncContainerRuntime {
|
|||
JsonNode configNode = mapper.readTree(configFile);
|
||||
|
||||
RuncContainerExecutorConfig runcContainerExecutorConfig =
|
||||
mapper.readValue(configNode, RuncContainerExecutorConfig.class);
|
||||
mapper.readValue(configNode.traverse(), RuncContainerExecutorConfig.class);
|
||||
configSize = configNode.size();
|
||||
|
||||
OCIRuntimeConfig ociRuntimeConfig =
|
||||
|
|
|
@ -109,6 +109,24 @@
|
|||
<dependency>
|
||||
<groupId>com.sun.jersey</groupId>
|
||||
<artifactId>jersey-json</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-core-asl</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-mapper-asl</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-jaxrs</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
<artifactId>jackson-xc</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.sun.jersey.contribs</groupId>
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
package org.apache.hadoop.yarn.server.resourcemanager.resource;
|
||||
|
||||
import org.apache.hadoop.classification.VisibleForTesting;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.apache.hadoop.conf.Configuration;
|
||||
|
@ -29,7 +31,6 @@ import org.apache.hadoop.yarn.exceptions.YARNFeatureNotEnabledException;
|
|||
import org.apache.hadoop.yarn.exceptions.YarnException;
|
||||
import org.apache.hadoop.yarn.util.resource.ResourceUtils;
|
||||
import org.apache.hadoop.yarn.util.resource.Resources;
|
||||
import org.codehaus.jackson.map.ObjectMapper;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
|
|
@ -23,11 +23,12 @@ import org.apache.hadoop.yarn.api.records.timelineservice.TimelineEntity;
|
|||
import org.apache.hadoop.yarn.server.timelineservice.documentstore.collection.document.entity.TimelineEntityDocument;
|
||||
import org.apache.hadoop.yarn.server.timelineservice.documentstore.collection.document.flowactivity.FlowActivityDocument;
|
||||
import org.apache.hadoop.yarn.server.timelineservice.documentstore.collection.document.flowrun.FlowRunDocument;
|
||||
import org.codehaus.jackson.type.TypeReference;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
|
||||
/**
|
||||
* This is util class for baking sample TimelineEntities data for test.
|
||||
*/
|
||||
|
|
|
@ -18,12 +18,12 @@
|
|||
|
||||
package org.apache.hadoop.yarn.server.timelineservice.documentstore;
|
||||
|
||||
import org.codehaus.jackson.map.DeserializationConfig;
|
||||
import org.codehaus.jackson.map.ObjectMapper;
|
||||
import org.codehaus.jackson.type.TypeReference;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
/**
|
||||
* A simple util class for Json SerDe.
|
||||
*/
|
||||
|
@ -34,8 +34,7 @@ public final class JsonUtils {
|
|||
private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
|
||||
|
||||
static {
|
||||
OBJECT_MAPPER.configure(
|
||||
DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
||||
OBJECT_MAPPER.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -48,7 +47,7 @@ public final class JsonUtils {
|
|||
* @throws IOException if Json String is not valid or error
|
||||
* while deserialization
|
||||
*/
|
||||
public static <T> T fromJson(final String jsonStr, final TypeReference type)
|
||||
public static <T> T fromJson(final String jsonStr, final TypeReference<T> type)
|
||||
throws IOException {
|
||||
return OBJECT_MAPPER.readValue(jsonStr, type);
|
||||
}
|
||||
|
|
8
pom.xml
8
pom.xml
|
@ -273,6 +273,14 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/x
|
|||
<bannedImport>static org.apache.hadoop.thirdparty.com.google.common.base.Preconditions.**</bannedImport>
|
||||
</bannedImports>
|
||||
</restrictImports>
|
||||
<restrictImports implementation="de.skuzzle.enforcer.restrictimports.rule.RestrictImports">
|
||||
<includeTestCode>true</includeTestCode>
|
||||
<reason>Use Fasterxml Jackson 2 dependency in place of org.codehaus Jackson 1</reason>
|
||||
<bannedImports>
|
||||
<bannedImport>org.codehaus.jackson.**</bannedImport>
|
||||
<bannedImport>static org.codehaus.jackson.**</bannedImport>
|
||||
</bannedImports>
|
||||
</restrictImports>
|
||||
</rules>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
|
Loading…
Reference in New Issue