-
Notifications
You must be signed in to change notification settings - Fork 231
Move jaeger-thrift shadow jar to its own classifier #526
Move jaeger-thrift shadow jar to its own classifier #526
Conversation
05bf33c
to
bc4b732
Compare
Codecov Report
@@ Coverage Diff @@
## master #526 +/- ##
===========================================
+ Coverage 88.42% 88.52% +0.1%
Complexity 505 505
===========================================
Files 66 66
Lines 1883 1883
Branches 239 239
===========================================
+ Hits 1665 1667 +2
+ Misses 142 140 -2
Partials 76 76
Continue to review full report at Codecov.
|
+1. Could you please briefly summarize what problems shaded jars introduce? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM - although I would prefer we find out the reason the shadow jar was created in the first place, and whether that use case still exists.
@yurishkuro Do you recall the reason for needing the shaded jar?
README.md
Outdated
`jaeger-thrift` module will bring a shaded version of Thrift (and others), making it safe to use your own versions of | ||
such dependencies. A non-shaded version of the dependency is available with the classifier `no-shadow`, but the | ||
transitive dependencies (Thrift included) will have to be added manually to your project. | ||
`jaeger-thrift` module will bring a non-shaded version of Thrift (and others). A non-shaded version of the dependency is |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"A non-shaded version.." - I think that should be "A shaded version..."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed
We created the shadow because we were using a very old version of Thrift and conflicted with the version of Thrift people were using. See #228 as one example. For this use case, people can still use the shaded jar. |
bc4b732
to
4b0cc83
Compare
It's basically what we have in the description: shadow, by definition, hides our dependencies. It bloats the jar and makes security audits harder, for instance. |
shaded by default was added here #460. |
@jpkrohling That is the point - we were using an older version of thrift, which is no longer the case - therefore the reason for having the shaded jar no longer exists. |
The reason is the same, we don't know which version of thrift the end user application is using and thrift versions in Java are highly incompatible even between patches. TBH the amount of effort we spent on this thrif & shade issue would've been better spent by just writing serialization manually. |
@objectiser sorry, I see now what you mean. Looks like it was done as part of #80 (PR #83). cc @vprithvi |
@pavolloffay said the exact same thing to me via IRC, but I don't have the time to do it now. It should be part of #516 though. That said: is this PR good to be merged? Or should I remove the shadow artifact altogether? |
For more context around #80: we ran into an issue where span reporting was broken silently when the project overrode the version of thrift to 0.9.3. I'm not sure if that is still an issue. Because of the prevalence of thrift, I am concerned that removing default shading could cause more problems than it solved. (On the other hand, more experienced users can use a the shade/shadow plugin to relocate the offending classes themselves.) |
By "default shading", did you mean not providing a shaded version at all, or did you mean providing it as the main artifact? Right now, the shaded version is the main artifact for
+1 |
@jpkrohling I'm fine either way, was just looking at an opportunity to simplify. |
4b0cc83
to
6b0d4c7
Compare
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Based on the comments, I understand that this PR looks good, as we don't want to remove the shadow artifact. As such, I'm merging this. |
6b0d4c7
to
02252d9
Compare
Signed-off-by: Juraci Paixão Kröhling juraci@kroehling.de
Which problem is this PR solving?
Short description of the changes
Also related: #486, #494 / #498
cc @mdvorak