Closed codefromthecrypt closed 9 months ago
@codefromthecrypt Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.
@codefromthecrypt Thank you for signing the Contributor License Agreement!
@shakuzen @marcingrzejszczak @ryanjbaxter I got this as far as I can.. there's an unrelated error below, which seems likely due to the runner using too new a JDK
org.springframework.cloud.sleuth.instrument.messaging.BraveTraceFunctionAwareWrapperTests.test_tracing_with_function() Time elapsed: 1 sec <<< FAILURE!
java.lang.ClassCastException: class java.lang.String cannot be cast to class org.springframework.messaging.Message (java.lang.String is in module java.base of loader 'bootstrap'; org.springframework.messaging.Message is in unnamed module of loader 'app')
The summary is that this change allows an upgrade to brave 5.18 or 6.0, but while sleuth supplies and consumes AsyncReporter types, it cannot upgrade to zipkin-reporter 2. This may be fine at least for a while, as Brave 6 doesn't care about zipkin or zipkin-reporter versions anymore.
In a bit, I will update this with Brave 6 (need to release that, first)
Hi Adrian, thanks for the PR! :)
Sleuth is already over its OSS support EOL date so Brave 6 might not be a concern. I think a minor version upgrade is a good question: we are not planning to release a new minor version of Sleuth only patch versions for commercial users.
On the other hand, we should do this in Micrometer Tracing as it is the successor of Sleuth.
ok so what I'll do is cross-test this PR with Brave 5.18 and 6 and then close it if it won't be merged. Then, in case you need the code later, you know where to look!
So, the main thing is that if this PR isn't merged and released, users can't upgrade to Brave 5.18 as things that wrap Propagation.Factory don't wrap .get()
. So, they will be stuck at 5.17.1 regardless of zipkin-reporter or deprecation.
If it is merged, likely this will work with Brave 6 as well, just the messaging tests are broken and until they aren't I'm not sure if there is another issue.
I think that might be a compelling argument for merging this even though we are not planning to do another minor release. We can also keep it open to see if there is user interest.
I'm looking into this and I'm getting some NoClassDefFoundError
. I'll look into that
itialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'kafkaStreamsTracing' defined in class path resource [org/springframework/cloud/sleuth/autoconfig/brave/instrument/messaging/BraveKafkaStreamsAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [brave.kafka.streams.KafkaStreamsTracing]: Factory method 'kafkaStreamsTracing' threw exception; nested exception is java.lang.NoClassDefFoundError: org/apache/kafka/streams/processor/api/FixedKeyProcessorSupplier
glad to hear you are looking at the build. I think people will be using boot 2 for many years.. if we can get a bit more life extension to sleuth to the community, I'm sure they will appreciate it!
this works provably. While people can't upgrade zipkin-reporter to a new version, they can upgrade brave without a snag: https://github.com/openzipkin/brave-example/pull/113
For most people, since they are using sleuth's reporters anyway, there's little problem here.
This updates to Brave 5.18.0 and dodges an internal type that will not be in Brave 6.0. See https://github.com/openzipkin/brave/pull/1396 about Propagation and Brave 6.0