KAFKA-16041: Replace Afterburn module with Blackbird (#17884)

Reviewers: Mickael Maison <mickael.maison@gmail.com>
This commit is contained in:
Joao Pedro Fonseca Dantas 2024-11-21 10:52:45 -03:00 committed by GitHub
parent fd9de50de1
commit e9ccc2d6f5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 17 additions and 17 deletions

View File

@ -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

View File

@ -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

View File

@ -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
);
}

View File

@ -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());
}
}

View File

@ -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());
}
}

View File

@ -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",

View File

@ -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);
}