This is an automated email from the ASF dual-hosted git repository.
amaechler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git
The following commit(s) were added to refs/heads/master by this push:
new a38a81f1ce3 test: remove `protobuf-dynamic` dependency (#20495)
a38a81f1ce3 is described below
commit a38a81f1ce309b6bddb0300715b6e63d13772cf6
Author: Andreas Maechler <[email protected]>
AuthorDate: Tue Oct 6 20:02:36 2026 -0600
test: remove `protobuf-dynamic` dependency (#20495)
* Remove protobuf-dynamic from embedded-tests
Build the Wikipedia protobuf messages in ProtobufEventSerializer and
ProtobufSchemaRegistryEventSerializer from the wikipedia.desc descriptor
the decoder side already uses, instead of redefining the schema with
protobuf-dynamic.
* Remove unused protobuf-dynamic from quidem-ut
---
embedded-tests/pom.xml | 6 ---
.../embedded/tools/ProtobufEventSerializer.java | 48 ++++------------------
.../ProtobufSchemaRegistryEventSerializer.java | 11 +----
quidem-ut/pom.xml | 6 ---
4 files changed, 10 insertions(+), 61 deletions(-)
diff --git a/embedded-tests/pom.xml b/embedded-tests/pom.xml
index d9052fea9c1..41fb83257a4 100644
--- a/embedded-tests/pom.xml
+++ b/embedded-tests/pom.xml
@@ -683,12 +683,6 @@
<version>${aws.sdk.v2.version}</version>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>com.github.os72</groupId>
- <artifactId>protobuf-dynamic</artifactId>
- <version>1.0.1</version>
- <scope>test</scope>
- </dependency>
<dependency>
<groupId>io.confluent</groupId>
<artifactId>kafka-protobuf-provider</artifactId>
diff --git
a/embedded-tests/src/test/java/org/apache/druid/testing/embedded/tools/ProtobufEventSerializer.java
b/embedded-tests/src/test/java/org/apache/druid/testing/embedded/tools/ProtobufEventSerializer.java
index 83ad5c863e8..17b6dc02ec9 100644
---
a/embedded-tests/src/test/java/org/apache/druid/testing/embedded/tools/ProtobufEventSerializer.java
+++
b/embedded-tests/src/test/java/org/apache/druid/testing/embedded/tools/ProtobufEventSerializer.java
@@ -19,12 +19,11 @@
package org.apache.druid.testing.embedded.tools;
-import com.github.os72.protobuf.dynamic.DynamicSchema;
-import com.github.os72.protobuf.dynamic.MessageDefinition;
import com.google.protobuf.Descriptors;
import com.google.protobuf.DynamicMessage;
+import org.apache.druid.data.input.protobuf.FileBasedProtobufBytesDecoder;
import org.apache.druid.java.util.common.Pair;
-import org.apache.druid.java.util.common.logger.Logger;
+import org.apache.druid.testing.embedded.indexing.MoreResources;
import java.util.List;
@@ -32,48 +31,17 @@ public class ProtobufEventSerializer implements
EventSerializer
{
public static final String TYPE = "protobuf";
- private static final Logger LOGGER = new
Logger(ProtobufEventSerializer.class);
-
- public static final DynamicSchema SCHEMA;
-
- static {
- DynamicSchema.Builder schemaBuilder = DynamicSchema.newBuilder();
- MessageDefinition wikiDef = MessageDefinition.newBuilder("Wikipedia")
- .addField("optional", "string", "timestamp", 1)
- .addField("optional", "string", "page", 2)
- .addField("optional", "string", "language", 3)
- .addField("optional", "string", "user", 4)
- .addField("optional", "string", "unpatrolled", 5)
- .addField("optional", "string", "newPage", 6)
- .addField("optional", "string", "robot", 7)
- .addField("optional", "string", "anonymous", 8)
- .addField("optional", "string", "namespace", 9)
- .addField("optional", "string", "continent", 10)
- .addField("optional", "string", "country", 11)
- .addField("optional", "string", "region", 12)
- .addField("optional", "string", "city", 13)
- .addField("optional", "int32", "added", 14)
- .addField("optional", "int32", "deleted", 15)
- .addField("optional", "int32", "delta", 16)
- .build();
- schemaBuilder.addMessageDefinition(wikiDef);
- DynamicSchema schema = null;
- try {
- schema = schemaBuilder.build();
- }
- catch (Descriptors.DescriptorValidationException e) {
- LOGGER.error("Could not init protobuf schema.");
- }
- SCHEMA = schema;
- }
+ public static final Descriptors.Descriptor DESCRIPTOR = new
FileBasedProtobufBytesDecoder(
+ MoreResources.ProbufData.WIKI_PROTOBUF_BYTES_DECODER_RESOURCE,
+ MoreResources.ProbufData.WIKI_PROTO_MESSAGE_TYPE
+ ).getDescriptor();
@Override
public byte[] serialize(List<Pair<String, Object>> event)
{
- DynamicMessage.Builder builder = SCHEMA.newMessageBuilder("Wikipedia");
- Descriptors.Descriptor msgDesc = builder.getDescriptorForType();
+ final DynamicMessage.Builder builder =
DynamicMessage.newBuilder(DESCRIPTOR);
for (Pair<String, Object> pair : event) {
- builder.setField(msgDesc.findFieldByName(pair.lhs), pair.rhs);
+ builder.setField(DESCRIPTOR.findFieldByName(pair.lhs), pair.rhs);
}
return builder.build().toByteArray();
}
diff --git
a/embedded-tests/src/test/java/org/apache/druid/testing/embedded/tools/ProtobufSchemaRegistryEventSerializer.java
b/embedded-tests/src/test/java/org/apache/druid/testing/embedded/tools/ProtobufSchemaRegistryEventSerializer.java
index dfe0dad5e5b..6dcce1228f8 100644
---
a/embedded-tests/src/test/java/org/apache/druid/testing/embedded/tools/ProtobufSchemaRegistryEventSerializer.java
+++
b/embedded-tests/src/test/java/org/apache/druid/testing/embedded/tools/ProtobufSchemaRegistryEventSerializer.java
@@ -19,8 +19,6 @@
package org.apache.druid.testing.embedded.tools;
-import com.google.protobuf.Descriptors;
-import com.google.protobuf.DynamicMessage;
import io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient;
import io.confluent.kafka.schemaregistry.protobuf.ProtobufSchema;
import org.apache.druid.java.util.common.Pair;
@@ -51,7 +49,7 @@ public class ProtobufSchemaRegistryEventSerializer extends
ProtobufEventSerializ
try {
RetryUtils.retry(
() -> {
- schemaId = client.register(topic, new
ProtobufSchema(ProtobufEventSerializer.SCHEMA.newMessageBuilder("Wikipedia").getDescriptorForType()));
+ schemaId = client.register(topic, new ProtobufSchema(DESCRIPTOR));
return 0;
},
(e) -> true,
@@ -66,12 +64,7 @@ public class ProtobufSchemaRegistryEventSerializer extends
ProtobufEventSerializ
@Override
public byte[] serialize(List<Pair<String, Object>> event)
{
- DynamicMessage.Builder builder = SCHEMA.newMessageBuilder("Wikipedia");
- Descriptors.Descriptor msgDesc = builder.getDescriptorForType();
- for (Pair<String, Object> pair : event) {
- builder.setField(msgDesc.findFieldByName(pair.lhs), pair.rhs);
- }
- byte[] bytes = builder.build().toByteArray();
+ final byte[] bytes = super.serialize(event);
ByteBuffer bb = ByteBuffer.allocate(bytes.length + 6).put((byte)
0).putInt(schemaId).put((byte) 0).put(bytes);
bb.rewind();
return bb.array();
diff --git a/quidem-ut/pom.xml b/quidem-ut/pom.xml
index b8bf2c8f4d6..bd384697f09 100644
--- a/quidem-ut/pom.xml
+++ b/quidem-ut/pom.xml
@@ -466,12 +466,6 @@
<artifactId>calcite-testkit</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>com.github.os72</groupId>
- <artifactId>protobuf-dynamic</artifactId>
- <version>1.0.1</version>
- <scope>compile</scope>
- </dependency>
<dependency>
<groupId>com.github.kgyrtkirk.datasets</groupId>
<artifactId>kttm-nested</artifactId>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]