mirror of https://github.com/apache/kafka.git
KAFKA-16041: Replace Afterburn module with Blackbird (#17884)
Reviewers: Mickael Maison <mickael.maison@gmail.com>
This commit is contained in:
parent
fd9de50de1
commit
e9ccc2d6f5
|
@ -223,7 +223,7 @@ jackson-dataformat-csv-2.16.2
|
|||
jackson-datatype-jdk8-2.16.2
|
||||
jackson-jaxrs-base-2.16.2
|
||||
jackson-jaxrs-json-provider-2.16.2
|
||||
jackson-module-afterburner-2.16.2
|
||||
jackson-module-blackbird-2.16.2
|
||||
jackson-module-jaxb-annotations-2.16.2
|
||||
jackson-module-scala_2.13-2.16.2
|
||||
jakarta.validation-api-2.0.2
|
||||
|
|
|
@ -3439,7 +3439,7 @@ project(':connect:json') {
|
|||
|
||||
api libs.jacksonDatabind
|
||||
api libs.jacksonJDK8Datatypes
|
||||
api libs.jacksonAfterburner
|
||||
api libs.jacksonBlackbird
|
||||
|
||||
implementation libs.slf4jApi
|
||||
runtimeOnly libs.reload4j
|
||||
|
|
|
@ -241,15 +241,15 @@ public class JsonConverter implements Converter, HeaderConverter, Versioned {
|
|||
/**
|
||||
* Creates a JsonConvert initializing serializer and deserializer.
|
||||
*
|
||||
* @param enableAfterburner permits to enable/disable the registration of Jackson Afterburner module.
|
||||
* @param enableBlackbird permits to enable/disable the registration of Jackson Blackbird module.
|
||||
* <p>
|
||||
* NOTE: This is visible only for testing
|
||||
*/
|
||||
public JsonConverter(boolean enableAfterburner) {
|
||||
public JsonConverter(boolean enableBlackbird) {
|
||||
serializer = new JsonSerializer(
|
||||
Set.of(),
|
||||
JSON_NODE_FACTORY,
|
||||
enableAfterburner
|
||||
enableBlackbird
|
||||
);
|
||||
|
||||
deserializer = new JsonDeserializer(
|
||||
|
@ -259,7 +259,7 @@ public class JsonConverter implements Converter, HeaderConverter, Versioned {
|
|||
DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS
|
||||
),
|
||||
JSON_NODE_FACTORY,
|
||||
enableAfterburner
|
||||
enableBlackbird
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ import com.fasterxml.jackson.databind.DeserializationFeature;
|
|||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
|
||||
import com.fasterxml.jackson.module.afterburner.AfterburnerModule;
|
||||
import com.fasterxml.jackson.module.blackbird.BlackbirdModule;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
|
@ -53,13 +53,13 @@ public class JsonDeserializer implements Deserializer<JsonNode> {
|
|||
JsonDeserializer(
|
||||
final Set<DeserializationFeature> deserializationFeatures,
|
||||
final JsonNodeFactory jsonNodeFactory,
|
||||
final boolean enableAfterburner
|
||||
final boolean enableBlackbird
|
||||
) {
|
||||
objectMapper.enable(JsonReadFeature.ALLOW_LEADING_ZEROS_FOR_NUMBERS.mappedFeature());
|
||||
deserializationFeatures.forEach(objectMapper::enable);
|
||||
objectMapper.setNodeFactory(jsonNodeFactory);
|
||||
if (enableAfterburner) {
|
||||
objectMapper.registerModule(new AfterburnerModule());
|
||||
if (enableBlackbird) {
|
||||
objectMapper.registerModule(new BlackbirdModule());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ import com.fasterxml.jackson.databind.JsonNode;
|
|||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.SerializationFeature;
|
||||
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
|
||||
import com.fasterxml.jackson.module.afterburner.AfterburnerModule;
|
||||
import com.fasterxml.jackson.module.blackbird.BlackbirdModule;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
|
@ -52,12 +52,12 @@ public class JsonSerializer implements Serializer<JsonNode> {
|
|||
JsonSerializer(
|
||||
final Set<SerializationFeature> serializationFeatures,
|
||||
final JsonNodeFactory jsonNodeFactory,
|
||||
final boolean enableAfterburner
|
||||
final boolean enableBlackbird
|
||||
) {
|
||||
serializationFeatures.forEach(objectMapper::enable);
|
||||
objectMapper.setNodeFactory(jsonNodeFactory);
|
||||
if (enableAfterburner) {
|
||||
objectMapper.registerModule(new AfterburnerModule());
|
||||
if (enableBlackbird) {
|
||||
objectMapper.registerModule(new BlackbirdModule());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -161,7 +161,7 @@ libs += [
|
|||
jacksonDataformatCsv: "com.fasterxml.jackson.dataformat:jackson-dataformat-csv:$versions.jackson",
|
||||
jacksonModuleScala: "com.fasterxml.jackson.module:jackson-module-scala_$versions.baseScala:$versions.jackson",
|
||||
jacksonJDK8Datatypes: "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:$versions.jackson",
|
||||
jacksonAfterburner: "com.fasterxml.jackson.module:jackson-module-afterburner:$versions.jackson",
|
||||
jacksonBlackbird: "com.fasterxml.jackson.module:jackson-module-blackbird:$versions.jackson",
|
||||
jacksonJaxrsJsonProvider: "com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:$versions.jackson",
|
||||
jaxAnnotationApi: "javax.annotation:javax.annotation-api:$versions.jaxAnnotation",
|
||||
jaxbApi: "javax.xml.bind:jaxb-api:$versions.jaxb",
|
||||
|
|
|
@ -51,7 +51,7 @@ public class JsonConverterBenchmark {
|
|||
private JsonConverter converter;
|
||||
|
||||
@Param({"true", "false"})
|
||||
private boolean afterBurnModule;
|
||||
private boolean blackbirdModule;
|
||||
|
||||
@State(Scope.Benchmark)
|
||||
public static class Data {
|
||||
|
@ -425,7 +425,7 @@ public class JsonConverterBenchmark {
|
|||
@Setup(Level.Trial)
|
||||
public void setup(BenchmarkParams params) {
|
||||
|
||||
converter = new JsonConverter(Boolean.parseBoolean(params.getParam("afterBurnModule")));
|
||||
converter = new JsonConverter(Boolean.parseBoolean(params.getParam("blackbirdModule")));
|
||||
converter.configure(Collections.emptyMap(), false);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue