https://github.com/apache/pulsar/pull/23647 addresses the pulsar-client 
(shaded), pulsar-client-admin (shaded and pulsar-client-all (shaded) shading 
issues where javax.annotation was exposed, 
https://github.com/apache/pulsar/issues/21297 . The issues have been resolved 
by migrating some annotations to jakarta annotations and also properly shading 
all annotations that aren't needed by consuming applications. 

Please review https://github.com/apache/pulsar/pull/23647 since I'd hope to 
included it in the next release. If there aren't further delays, instead of 
publishing the current release candidates for 3.0.8, 3.3.3 and 4.0.1, I'd do 
another release candidate with more improvements such as this one.

-Lari

On 2024/11/07 08:57:07 Lari Hotari wrote:
> On Thu, 7 Nov 2024 at 07:38, Christian Ortlepp wrote:
> >
> >  > Semantic versioning is followed.
> >
> > Even if no Jakarta Interfaces/Annotations are part of Pulsars public
> > API, switching to jakarta can (and probably will) mess with the
> > dependency resolution of everybody who uses the client. So I do think
> > this is a breaking change, even if no javax/jakarta interfaces are used
> > explicitly anywhere in Pulsars API.
> 
> It's true that some use cases could break. Relying on transitive
> dependencies is not a great idea in general.
> We won't be incrementing the major version for fixing issues in
> transitive dependencies.
> 
> >  > It looks like there are problems with the shading configuration of
> >
> > > pulsar-client-all and pulsar-client-admin-shaded.
> >
> > We are just using the pulsar-client. I also did not know that pulsar
> > shades its dependencies, but from a quick look at the pom it looks to me
> > that (of the javax libraries) it only shades javax.annotation, but not
> > javax.ws.rs-api, javax.activation, javax.validation. But this is just
> > what I'm reading from the POM, I have not tried it out yet. So I also do
> > not have any acute problems yet, but I will IF pulsar actually needs any
> > of the javax libraries like it advertises this in the POM (if it shades
> > them all I should not have any problems).
> 
> That's exactly the issue in the shading configuration.
> 
> > I am honestly a bit confused at the moment, is what is published on
> > maven central as "pulsar-client" actually "pulsar-client-shaded"?
> 
> Yes, "pulsar-client" in maven central is published by the
> "pulsar-client-shaded" module in the source code. The "pulsar-client"
> module in source code is published as "pulsar-client-original" to
> maven central.
> 
> -Lari
> 

Reply via email to