-
Notifications
You must be signed in to change notification settings - Fork 231
Update to okhttp v4.2.2 #666
Comments
I don't think we want kotlin dependency at runtime. Zipkin moved away from okhttp for that reason iirc. |
I agree @yurishkuro, it's an important point to consider. If not updating, is the plan then to move away from |
There is no specific plan yet. Do you have any thoughts? |
I think it's a tricky one. If we don't add the Kotlin dependency, then Jaeger will get stuck in the This was also the reasoning for the Zipkin project to move to Armeria: openzipkin/zipkin#2646. |
That PR is for Zipkin backend, but this is Jaeger client lib. We don't need a full blown server framework here, only some fairly basic HTTP functionality. |
I agree, the scope between Zipkin and The options moving forward seem to be these three:
|
I don't know much about kotlin, but I assume that similar to Scala it brings with it some sort of stdlib, which will bloat the size of the client distribution. We might also need to share it's stdlib to avoid dependencies hell for users. So I view it almost as unattractive option as staying on okhttp3 (which at the moment is not terrible, it's not that old). |
Fixed with #674 Thanks for your help @yurishkuro @pavolloffay ! |
Requirement - what kind of business use case are you trying to solve?
Jaeger is currently using version
v3.9.0
ofcom.squareup.okhttp3:okhttp
, which is a few versions behind the latestv4.2.2
. It would be useful to update it to the latest version.Problem - what in Jaeger blocks you from solving the requirement?
Jaeger is pointing to
v3.9.0
, so in order to use the latest version, Jaeger would need to change its required version tov4.2.2
. Before updating though, there are a couple of things that should be considered. Both are derived from the fact that fromv4.x
onwards,okhttp
uses Kotlin.jaeger-zipkin
,zipkin-junit
, depends onmockwebserver
which is also part of thecom.squareup.okhttp3
group. However,zipkin-junit
currently points tov3.14.4
which is incompatible withv4.2.2
(because of the move to Kotlin). I've submitted a PR with this change tozipkin-junit
, Update mockwebserver openzipkin/zipkin#2889.v4.2.2
adds a new dependency on Kotlin. This can be considered a problem. However, if Jaeger keeps usingokhttp
it would be good to stay on the latest version.On the other hand,
v4.x
remains source- and binary-compatible withv3.x
, therefore there shouldn't be any need of extra changes on Jaeger.Proposal - what do you suggest to solve the problem or improve the existing situation?
Once openzipkin/zipkin#2889 is accepted, we should be able to bump the version on the root
build.gradle
:jaeger-client-java/build.gradle
Line 28 in 46798bd
No extra changes should be required.
The text was updated successfully, but these errors were encountered: