[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [glassfish-dev] Splitting up the jakarta work
|
Hopefully the owner of each API knows what depends on it, and what
it depends on. Just find something easy and do it. If you try
something and it turns out to be hard, skip it and keep looking for
something easy. Well, easier.
I don't think there's a magic bullet here. We just need to dive in
and do it. And be willing to ix it when we break it.
Steve Millidge (Payara) wrote on
3/25/20 2:00 AM:
Does
anybody know what those things are? I thought that’s what
the waves are? However the early waves are used the most by
the later waves. So it’s not the direct dependencies an api
has it is how many other apis use that jar that is the
important measure. Hence the thought to start in reverse
wave order but as I said I fear that will suck in a lot of
apis.
Steve
I think we
have different ideas of what the bottom is. :-)
Find the things with the fewest dependencies and change them
first. Maybe that's the top? :-)
Steve Millidge (Payara) wrote on 3/24/20
1:56 AM:
Bottom
up would likely be something like Inject but I fear that
will hit almost everything. I was leaning towards top down
but again I think that will likely require a 80% change to
do effectively.
Changing
these in parallel is probably hopeless.
To the extent possible, we should be changing them "bottom
up".
Find the smallest set that you can change, do that, then
move up the dependency tree. There may be places where
you're just stuck doing a whole bunch at once.
arjan tijms wrote on 3/23/20 12:42 PM:
Hi,
Some of the "edge" libs (that don't
depend on other things) are somewhat easier to be
done, but you often do bump in to each other when
changing poms and the implementation code. For
instance, when updating for Jakarta Servlet and
updating for Jakarta Authentication you touch the same
classes in GlassFish (e.g the RealmAdaptor and the
code it calls).
Updating of the components
(Grizzly, Jersey, Mojarra, Soteria, ...) is something
that's much easier done in parallel, but not
everything is directly under the GlassFish project.
I'm continuing to look on what
causes the test instabilities.
Yeah
Jenkins seems unstable for testing GlassFish at
the moment.
What’s
your conclusion on how easy it is to do these
library changes in parallel?
Steve
Hi,
In
parallel to this I've spend time updating
some of the dependencies. Unfortunately
after working on Bean Validation,
randomly in some tests GlassFish doesn't
fully boot on Eclipse Jenkins, causing the
asadmin start-domain command to time out.
Debugging
this is hideously difficult due to the
randomness of the hangs.
Same
thing is discussed in this JSON-P PR
integration
https://github.com/eclipse-ee4j/glassfish/pull/22943 where JSON-P
should have a small impact given it is a
new api but it needs an updated Jersey or
the server won’t start.
Steve
Problem
is the code doesn’t compile unless we
potentially go through an implementation
phase when we support two versions of the
library e.g. Jakarta Transactions at the
same time with both javax and Jakarta as
dependencies which means adding the new
dependency in some places then unpicking
it later. Which seems brittle.
For
example I tried to add Jakarta
Transactions as it is needed for Jakarta
Connectors. So I started changing
namespace of references to it in the code
base. Unfortunately it is used in public
javax EJB apis so now the GlassFish EJB
code does not implement javax.ejb
interfaces so I need to update EJB to use
Jakarta namespace and so on and so on…
I’m
tempted to change all namespace in one go
and fix compilation errors but then I
suspect I will also need all the upstream
implementation projects to be ready that
are not part of GlassFish or I suspect the
server won’t start with OSGI errors. Yuk.
Steve
Can
this not be one, one library at a time?
That is, each PR handles the changes for
the library and all of its references, but
no more?
Russ
I
recently started trying to do
the work to integrate Jakarta
connectors namespace change as
the implementation of the api is
in core GlassFish. However to do
so I also had to start doing the
work on Jakarta transactions.
Also now I’ve hit that I also
need to do all the changes for
EJB as well or GlassFish won’t
compile. I have a horrible
suspicion that this change is
likely going to suck in a lot of
the apis and hit a huge chunk of
the code base.
Does
anybody have any good ideas on
how to work in parallel on a lot
of this work?
I’m
starting to think that a large
chunk of the work is going to
have to be done in one go in one
PR!
Does
anybody have a better idea?
_______________________________________________
glassfish-dev mailing list
glassfish-dev@xxxxxxxxxxx
To unsubscribe from this list,
visit https://urldefense.com/v3/__https://www.eclipse.org/mailman/listinfo/glassfish-dev__;!!GqivPVa7Brio!KCrJfd9RxFJu3Yvq84Jj8UgY83QDwEKWPYX5Hw-_GeC1B3j0wOFQUWQ7x_RKjmE-7w$
_______________________________________________
glassfish-dev mailing list
glassfish-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/glassfish-dev
_______________________________________________
glassfish-dev mailing list
glassfish-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/glassfish-dev
_______________________________________________
glassfish-dev mailing list
glassfish-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://urldefense.com/v3/__https://www.eclipse.org/mailman/listinfo/glassfish-dev__;!!GqivPVa7Brio!KbpRnRElprFfOPngnvy1FHw3eKd9debZMR84vwrZJLdnzse9rMoVRroaHuFCR3KHvg$
_______________________________________________
glassfish-dev mailing list
glassfish-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://urldefense.com/v3/__https://www.eclipse.org/mailman/listinfo/glassfish-dev__;!!GqivPVa7Brio!OQ4WGJa23rpYcO7lLB3tIvi_NlikXTAJOvEQ6gGNiRw1DJ8pGY--851awvGPy7eq0g$
_______________________________________________
glassfish-dev mailing list
glassfish-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://urldefense.com/v3/__https://www.eclipse.org/mailman/listinfo/glassfish-dev__;!!GqivPVa7Brio!IlYoKi4KctvNsCS2_uYYeVEeMEtcmtWqunUSIJYR_zSDo_lWKrXb7gWVb63dwvTRbg$