Skip to content

Conversation

nicolasgarfinkiel
Copy link

The current protobuf-java version is quite old (3.x) which causes runtime exceptions and also marked as having vulnerabilities. This PR updates the package version with minor code changes.

@goulashify
Copy link

➕ , ran into this today while tying to serialize a HttpBody:

Exception in thread "grpc-default-executor-1577" java.lang.NoSuchMethodError: 'com.google.protobuf.Descriptors$FileDescriptor$Syntax com.google.protobuf.Descriptors$FileDescriptor.getSyntax()'
	at com.hubspot.jackson.datatype.protobuf.builtin.serializers.MessageSerializer.serialize(MessageSerializer.java:63)
	at com.hubspot.jackson.datatype.protobuf.builtin.serializers.MessageSerializer.serialize(MessageSerializer.java:29)
	at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:145)
	at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:107)
	at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:25)
	at com.fasterxml.jackson.databind.ser.std.ObjectArraySerializer.serializeContents(ObjectArraySerializer.java:253)
	at com.fasterxml.jackson.databind.ser.std.ObjectArraySerializer.serialize(ObjectArraySerializer.java:214)
	at com.fasterxml.jackson.databind.ser.std.ObjectArraySerializer.serialize(ObjectArraySerializer.java:23)
	at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:502)
	at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:341)
	at com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:3365)
	at com.fasterxml.jackson.core.base.GeneratorBase.writeObject(GeneratorBase.java:422)
	at net.logstash.logback.marker.ObjectAppendingMarker.writeFieldValue(ObjectAppendingMarker.java:94)
	at net.logstash.logback.marker.SingleFieldAppendingMarker.writeTo(SingleFieldAppendingMarker.java:86)
	at net.logstash.logback.composite.loggingevent.ArgumentsJsonProvider.writeTo(ArgumentsJsonProvider.java:76)
	at net.logstash.logback.composite.loggingevent.ArgumentsJsonProvider.writeTo(ArgumentsJsonProvider.java:43)
	at net.logstash.logback.composite.JsonProviders.writeTo(JsonProviders.java:77)
	at net.logstash.logback.composite.CompositeJsonFormatter.writeEventToGenerator(CompositeJsonFormatter.java:175)
	at net.logstash.logback.composite.CompositeJsonFormatter.writeEventToOutputStream(CompositeJsonFormatter.java:152)
	at net.logstash.logback.encoder.CompositeJsonEncoder.encode(CompositeJsonEncoder.java:114)
	at net.logstash.logback.encoder.CompositeJsonEncoder.encode(CompositeJsonEncoder.java:32)
	at ch.qos.logback.core.OutputStreamAppender.writeOut(OutputStreamAppender.java:203)
	at ch.qos.logback.core.OutputStreamAppender.subAppend(OutputStreamAppender.java:257)
	at ch.qos.logback.core.OutputStreamAppender.append(OutputStreamAppender.java:111)
	at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:85)
	at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:51)
	at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:272)
	at ch.qos.logback.classic.Logger.callAppenders(Logger.java:259)
	at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:426)
	at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:386)
	at ch.qos.logback.classic.Logger.debug(Logger.java:499)
	at com.corpo.common.grpc.interceptor.RequestLogger.logCompleted(RequestLogger.java:57)
	at com.corpo.common.grpc.interceptor.DebugServerInterceptor$2.onComplete(DebugServerInterceptor.java:49)
	at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.closedInternal(ServerCallImpl.java:372)
	at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.closed(ServerCallImpl.java:364)
	at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1Closed.runInContext(ServerImpl.java:910)
	at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
	at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)

@jhaber
Copy link
Member

jhaber commented Nov 25, 2024

Sorry for the delay, I just added some new github actions so that we can still test older versions for compatibility

@jhaber jhaber merged commit 80cd20b into HubSpot:master Nov 25, 2024
9 checks passed
@jhaber
Copy link
Member

jhaber commented Nov 25, 2024

Just release as 0.9.17, should show up in central soon

@goulashify
Copy link

@jhaber amazing! 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants