From 4bf87e900dc0b04b43aaa4ffc4e2d8fc6045dd89 Mon Sep 17 00:00:00 2001 From: Adrian Lagartera Date: Fri, 19 May 2023 12:43:15 +0200 Subject: [PATCH] #374 multiple schemas apicurio error (#382) Release 5.6.2 - Fixed an issue related to Apicurio when trying to get more than one schema from the registry from Jmeter. - Added new documentation on using the schema registry in the wiki. --- docs/_Sidebar.md | 1 + docs/images/SchemaRegistrySelection.png | Bin 0 -> 173134 bytes docs/schema-registry.md | 32 ++++ pom-maven-central.xml | 2 +- pom.xml | 2 +- .../docker-compose-noauth.yml | 2 +- .../impl/ApicurioSchemaRegistry.java | 166 ++++++++---------- .../loadgen/impl/AvroSRLoadGeneratorTest.java | 2 +- 8 files changed, 108 insertions(+), 99 deletions(-) create mode 100644 docs/images/SchemaRegistrySelection.png create mode 100644 docs/schema-registry.md diff --git a/docs/_Sidebar.md b/docs/_Sidebar.md index 8ec94323..d6dc8f20 100644 --- a/docs/_Sidebar.md +++ b/docs/_Sidebar.md @@ -15,6 +15,7 @@ - [Producer configuration](producer-configuration.md) - [Consumer configuration](consumer-configuration.md) - [Schemas](schemas.md) + - [Schema Registry](schema-registry.md) # Knowledge center - [How to run a test plan](how-to-run.md) diff --git a/docs/images/SchemaRegistrySelection.png b/docs/images/SchemaRegistrySelection.png new file mode 100644 index 0000000000000000000000000000000000000000..d403287666dc52e31721f2670b122a29a74c6771 GIT binary patch literal 173134 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

5c`VC5;6yXu>B%>OF-{e7tqV+8K*ef@h7P|Qjd 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%0D)-9W`+$i=aEkrsl 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�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

x%y>o&tGDV1+$OFM+ozOMio&zCQM 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 O&v`AqGkF@;LH`31)s7kf literal 0 HcmV?d00001 diff --git a/docs/schema-registry.md b/docs/schema-registry.md new file mode 100644 index 00000000..57e8c292 --- /dev/null +++ b/docs/schema-registry.md @@ -0,0 +1,32 @@ +# Configuration Schema Registry + +Although we support the use of schemas without external dependencies such as Schema Registry, it is common to use it, since it allows to +have control of the schemas with versions. + +To choose the use of Schema Registry it is necessary to do it in the following way introducing the basic properties that appear in the +image: +![](images/SchemaRegistrySelection.png) + +The properties are supported by the schema registry available to us (At the moment are Confluent Schema Registry, and Apicurio Schema Registry) + +A list of the properties explained here: +* `schema.registry.auth.enabled` If your schema registry have auth enabled or not +* `schema.registry.auth.method` The method to connect with your schema registry +* `schema.registry.username` Username +* `schema.registry.password` Password +* `schema.registry.bearer` Token for SASL/OAUTHBEARER + +## Some Recommendations + +To avoid having unclear schemas, when use Apicurio they recommend using this functionality instead of auto-generating. +https://www.apicur.io/registry/docs/apicurio-registry/2.1.x/assets-attachments/registry-rest-api.htm#tag/Artifacts/operation/createArtifact + +However, in Confluent Schema Registry, they take the SubjectName as ID, so remember it if you see a different name in your Schema List. + + + + + + + + diff --git a/pom-maven-central.xml b/pom-maven-central.xml index 7426a07d..f684ab91 100644 --- a/pom-maven-central.xml +++ b/pom-maven-central.xml @@ -7,7 +7,7 @@ kloadgen - 5.6.1 + 5.6.2 KLoadGen Load Generation Jmeter plugin for Kafka Cluster. Supporting AVRO, JSON Schema and Protobuf schema types. Generate Artificial diff --git a/pom.xml b/pom.xml index 62a41161..7f8eecd9 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ kloadgen - 5.6.1 + 5.6.2 KLoadGen Load Generation Jmeter plugin for Kafka Cluster. Supporting AVRO, JSON Schema and Protobuf schema types. Generate Artificial diff --git a/schema_registry_docker/docker-compose-noauth.yml b/schema_registry_docker/docker-compose-noauth.yml index d8976b99..168db483 100644 --- a/schema_registry_docker/docker-compose-noauth.yml +++ b/schema_registry_docker/docker-compose-noauth.yml @@ -33,7 +33,7 @@ services: apicurio-registry: image: 'apicurio/apicurio-registry-mem:latest-release' ports: - - '8080:8080' + - '8080:8080' environment: AUTH_ENABLED: false kafka-manager: diff --git a/src/main/java/com/sngular/kloadgen/sampler/schemaregistry/impl/ApicurioSchemaRegistry.java b/src/main/java/com/sngular/kloadgen/sampler/schemaregistry/impl/ApicurioSchemaRegistry.java index 4b4051e0..aa3ab1cc 100644 --- a/src/main/java/com/sngular/kloadgen/sampler/schemaregistry/impl/ApicurioSchemaRegistry.java +++ b/src/main/java/com/sngular/kloadgen/sampler/schemaregistry/impl/ApicurioSchemaRegistry.java @@ -2,26 +2,22 @@ import java.io.IOException; import java.io.InputStream; -import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collection; -import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Optional; +import java.util.Objects; +import com.google.protobuf.Message; import com.sngular.kloadgen.common.SchemaTypeEnum; import com.sngular.kloadgen.exception.KLoadGenException; import com.sngular.kloadgen.sampler.schemaregistry.SchemaRegistryAdapter; -import com.sngular.kloadgen.sampler.schemaregistry.SchemaRegistryConstants; import com.sngular.kloadgen.sampler.schemaregistry.adapter.impl.ApicurioParsedSchemaMetadata; import com.sngular.kloadgen.sampler.schemaregistry.adapter.impl.ApicurioSchemaMetadata; import com.sngular.kloadgen.sampler.schemaregistry.adapter.impl.BaseParsedSchema; import com.sngular.kloadgen.sampler.schemaregistry.adapter.impl.BaseSchemaMetadata; -import com.sngular.kloadgen.sampler.schemaregistry.adapter.impl.ParsedSchemaAdapter; import com.sngular.kloadgen.sampler.schemaregistry.adapter.impl.SchemaMetadataAdapter; -import com.sngular.kloadgen.util.SchemaRegistryKeyHelper; import io.apicurio.registry.resolver.SchemaParser; import io.apicurio.registry.rest.client.RegistryClient; import io.apicurio.registry.rest.client.RegistryClientFactory; @@ -30,147 +26,127 @@ import io.apicurio.registry.rest.v2.beans.SearchedArtifact; import io.apicurio.registry.serde.SerdeConfig; import io.apicurio.registry.serde.avro.AvroSchemaParser; +import io.apicurio.registry.serde.jsonschema.JsonSchema; import io.apicurio.registry.serde.jsonschema.JsonSchemaParser; import io.apicurio.registry.serde.protobuf.ProtobufSchemaParser; import io.apicurio.registry.types.ArtifactState; -import org.apache.tika.io.IOUtils; +import io.apicurio.registry.utils.protobuf.schema.ProtobufSchema; +import org.apache.avro.Schema; public class ApicurioSchemaRegistry implements SchemaRegistryAdapter { private RegistryClient schemaRegistryClient; - private Map propertiesMap; - - private ApicurioParsedSchemaMetadata apicurioParsedSchemaMetadata; - - public ApicurioSchemaRegistry() { - this.propertiesMap = Map.of(SchemaRegistryKeyHelper.SCHEMA_REGISTRY_NAME, SchemaRegistryConstants.SCHEMA_REGISTRY_APICURIO, - SchemaRegistryKeyHelper.SCHEMA_REGISTRY_URL_KEY, SerdeConfig.REGISTRY_URL); - } - @Override - public String getSchemaRegistryUrlKey() { + public final String getSchemaRegistryUrlKey() { return SerdeConfig.REGISTRY_URL; } @Override - public void setSchemaRegistryClient(String url, Map properties) { + public final void setSchemaRegistryClient(final String url, final Map properties) { this.schemaRegistryClient = RegistryClientFactory.create(url); } @Override - public void setSchemaRegistryClient(Map properties) { - String url = properties.get(this.getSchemaRegistryUrlKey()).toString(); + public final void setSchemaRegistryClient(final Map properties) { + final String url = Objects.toString(properties.get(this.getSchemaRegistryUrlKey()), ""); this.schemaRegistryClient = RegistryClientFactory.create(url); } @Override - public Collection getAllSubjects() throws KLoadGenException { - Collection subjects = new ArrayList<>(); + public final Collection getAllSubjects() throws KLoadGenException { + final Collection subjects = new ArrayList<>(); try { - List artifacts = this.schemaRegistryClient.searchArtifacts(null, null, null, - null, null, null, null, null, null).getArtifacts(); + final List artifacts = this.schemaRegistryClient.searchArtifacts(null, null, null, + null, null, null, null, null, null).getArtifacts(); - for (SearchedArtifact searchedArtifact : artifacts) { - subjects.add(searchedArtifact.getName()); + for (final SearchedArtifact searchedArtifact : artifacts) { + subjects.add(searchedArtifact.getId()); } return subjects; - } catch (RestClientException e) { + } catch (final RestClientException e) { throw new KLoadGenException(e.getMessage()); } } @Override - public BaseSchemaMetadata getLatestSchemaMetadata(String subjectName) throws KLoadGenException { + public final BaseSchemaMetadata getLatestSchemaMetadata(final String artifactId) throws KLoadGenException { try { - final SearchedArtifact searchedArtifact = getLastestSearchedArtifact(subjectName); + final SearchedArtifact searchedArtifact = getLastestSearchedArtifact(artifactId); final ArtifactMetaData artifactMetaData = this.schemaRegistryClient.getArtifactMetaData(searchedArtifact.getGroupId(), searchedArtifact.getId()); - return new BaseSchemaMetadata(new ApicurioSchemaMetadata(artifactMetaData)); - } catch (RestClientException e) { + return new BaseSchemaMetadata<>(new ApicurioSchemaMetadata(artifactMetaData)); + } catch (final RestClientException e) { throw new KLoadGenException(e.getMessage()); } } @Override - public BaseParsedSchema getSchemaBySubject(String subjectName) { + public final BaseParsedSchema getSchemaBySubject(final String artifactId) { final ApicurioParsedSchemaMetadata schema = new ApicurioParsedSchemaMetadata(); try { - List artifacts = this.schemaRegistryClient.searchArtifacts(null, subjectName, null, - null, null, null, null, null, null).getArtifacts(); - if (artifacts.isEmpty()) { - throw new KLoadGenException(String.format("Schema %s not found", subjectName)); - } else { - SearchedArtifact searchedArtifact = artifacts.get(0); - InputStream inputStream = this.schemaRegistryClient.getLatestArtifact(searchedArtifact.getGroupId(), searchedArtifact.getId()); - String result = IOUtils.toString(inputStream, String.valueOf(StandardCharsets.UTF_8)); - - String searchedArtifactType = searchedArtifact.getType().toString(); - if (SchemaTypeEnum.AVRO.name().equalsIgnoreCase(searchedArtifactType)) { - SchemaParser parserAvro = new AvroSchemaParser(null); - schema.setSchema(parserAvro.parseSchema(result.getBytes(StandardCharsets.UTF_8), new HashMap<>())); - } else if (SchemaTypeEnum.JSON.name().equalsIgnoreCase(searchedArtifactType)) { - SchemaParser parserJson = new JsonSchemaParser(); - schema.setSchema(parserJson.parseSchema(result.getBytes(StandardCharsets.UTF_8), new HashMap<>())); - } else if (SchemaTypeEnum.PROTOBUF.name().equalsIgnoreCase(searchedArtifactType)) { - SchemaParser parserProtobuf = new ProtobufSchemaParser(); - schema.setSchema(parserProtobuf.parseSchema(result.getBytes(StandardCharsets.UTF_8), new HashMap<>())); - } else { - throw new KLoadGenException(String.format("Schema type not supported %s", searchedArtifactType)); - } - schema.setType(searchedArtifactType); - ParsedSchemaAdapter parsedSchemaAdapter = schema; - return new BaseParsedSchema(parsedSchemaAdapter); - } - } catch (IOException e) { + final SearchedArtifact searchedArtifact = getLastestSearchedArtifact(artifactId); + final InputStream inputStream = this.schemaRegistryClient.getLatestArtifact(searchedArtifact.getGroupId(), searchedArtifact.getId()); + final String searchedArtifactType = searchedArtifact.getType(); + setSchemaBySchemaType(schema, inputStream.readAllBytes(), searchedArtifactType); + schema.setType(searchedArtifactType); + return new BaseParsedSchema<>(schema); + } catch (final IOException e) { throw new KLoadGenException(e); } } - public BaseParsedSchema getSchemaBySubjectAndId(String subjectName, BaseSchemaMetadata metadata) { + private static void setSchemaBySchemaType(final ApicurioParsedSchemaMetadata schema, final byte[] result, final String searchedArtifactType) { + + switch (SchemaTypeEnum.valueOf(searchedArtifactType)) { + case AVRO: + final SchemaParser parserAvro = new AvroSchemaParser<>(null); + schema.setSchema(parserAvro.parseSchema(result, new HashMap<>())); + break; + case PROTOBUF: + final SchemaParser parserProtobuf = new ProtobufSchemaParser<>(); + schema.setSchema(parserProtobuf.parseSchema(result, new HashMap<>())); + break; + case JSON: + final SchemaParser parserJson = new JsonSchemaParser<>(); + schema.setSchema(parserJson.parseSchema(result, new HashMap<>())); + break; + default: + throw new KLoadGenException(String.format("Schema type not supported %s", searchedArtifactType)); + + } + } + + @Override + public final BaseParsedSchema getSchemaBySubjectAndId( + final String subjectName, final BaseSchemaMetadata metadata) { final ApicurioParsedSchemaMetadata schema = new ApicurioParsedSchemaMetadata(); - SchemaMetadataAdapter schemaMetadataAdapter = metadata.getSchemaMetadataAdapter(); + final SchemaMetadataAdapter schemaMetadataAdapter = metadata.getSchemaMetadataAdapter(); try { - InputStream inputStream = this.schemaRegistryClient.getContentByGlobalId(schemaMetadataAdapter.getGlobalId()); - String result = IOUtils.toString(inputStream, String.valueOf(StandardCharsets.UTF_8)); - - String searchedArtifactType = schemaMetadataAdapter.getType(); - if (SchemaTypeEnum.AVRO.name().equalsIgnoreCase(searchedArtifactType)) { - SchemaParser parserAvro = new AvroSchemaParser(null); - schema.setSchema(parserAvro.parseSchema(result.getBytes(StandardCharsets.UTF_8), new HashMap<>())); - } else if (SchemaTypeEnum.JSON.name().equalsIgnoreCase(searchedArtifactType)) { - SchemaParser parserJson = new JsonSchemaParser(); - schema.setSchema(parserJson.parseSchema(result.getBytes(StandardCharsets.UTF_8), new HashMap<>())); - } else if (SchemaTypeEnum.PROTOBUF.name().equalsIgnoreCase(searchedArtifactType)) { - SchemaParser parserProtobuf = new ProtobufSchemaParser(); - schema.setSchema(parserProtobuf.parseSchema(result.getBytes(StandardCharsets.UTF_8), new HashMap<>())); - } else { - throw new KLoadGenException(String.format("Schema type not supported %s", searchedArtifactType)); - } - } catch (IOException e) { + final InputStream inputStream = this.schemaRegistryClient.getContentByGlobalId(schemaMetadataAdapter.getGlobalId()); + + final String searchedArtifactType = schemaMetadataAdapter.getType(); + setSchemaBySchemaType(schema, inputStream.readAllBytes(), searchedArtifactType); + } catch (final IOException e) { throw new RuntimeException(e); } - ParsedSchemaAdapter parsedSchemaAdapter = schema; - return new BaseParsedSchema(parsedSchemaAdapter); + return new BaseParsedSchema<>(schema); } - private SearchedArtifact getLastestSearchedArtifact(final String subjectName) { - boolean found = false; - SearchedArtifact best = null; - final Comparator comparator = Comparator.comparing(SearchedArtifact::getModifiedOn); - for (SearchedArtifact artifact : this.schemaRegistryClient.searchArtifacts(null, null, null, null, null, null, null, null, - null, - null, null).getArtifacts()) { - if (artifact.getName().equals(subjectName) && ArtifactState.ENABLED.equals(artifact.getState()) && !found || comparator.compare(artifact, best) > 0) { - found = true; - best = artifact; + private SearchedArtifact getLastestSearchedArtifact(final String artifactId) { + SearchedArtifact searchedArtifact = null; + + for (final SearchedArtifact artifact : this.schemaRegistryClient.searchArtifacts(null, null, null, null, null, null, + null, null, null, null, null).getArtifacts()) { + if (artifact.getId().equals(artifactId) && ArtifactState.ENABLED.equals(artifact.getState())) { + searchedArtifact = artifact; } } - SearchedArtifact searchedArtifact = (found ? Optional.of(best) : Optional.empty()) - .orElseThrow(() -> new KLoadGenException(String.format("Does not exist any enabled" + - "artifact " + - "registered with name %s", - subjectName))); + + if (searchedArtifact == null) { + throw new KLoadGenException(String.format("Does not exist any enabled artifact registered with id %s", artifactId)); + } + return searchedArtifact; } } diff --git a/src/test/java/com/sngular/kloadgen/loadgen/impl/AvroSRLoadGeneratorTest.java b/src/test/java/com/sngular/kloadgen/loadgen/impl/AvroSRLoadGeneratorTest.java index 04566831..c1c62f4d 100644 --- a/src/test/java/com/sngular/kloadgen/loadgen/impl/AvroSRLoadGeneratorTest.java +++ b/src/test/java/com/sngular/kloadgen/loadgen/impl/AvroSRLoadGeneratorTest.java @@ -56,7 +56,7 @@ void testAvroLoadGenerator(final WireMockRuntimeInfo wmRuntimeInfo) throws KLoad originals.put(schemaRegistryManager.getSchemaRegistryUrlKey(), wmRuntimeInfo.getHttpBaseUrl()); final AvroSRLoadGenerator avroLoadGenerator = new AvroSRLoadGenerator(); - avroLoadGenerator.setUpGenerator(originals, "simple-schema", fieldValueMappingList); + avroLoadGenerator.setUpGenerator(originals, "dad37185-782b-4bed-9cf6-678d1d4587d9", fieldValueMappingList); final Object message = avroLoadGenerator.nextMessage(); Assertions.assertThat(message).isNotNull().isInstanceOf(EnrichedRecord.class);