[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [glassfish-dev] Splitting up the jakarta work
|
I think this is ok, as long as someone is managing the process and
knows what's broken, why it's broken, and who's going to fix it.
This is not a "blame game", this is a project management goal to
make sure we're always moving forward.
Steve, if that's you, then I support this.
Steve Millidge (Payara) wrote on
3/27/20 2:51 AM:
I
think we will have to accept that master will be broken.
Either from a test perspective or from a GlassFish starting
perspective.
Are
we prepared to accept a master where GlassFish just compiles
but doesn’t run or pass tests for an interim period until
everything is merged in?
Steve
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$
_______________________________________________
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!JB4QHdm9M5sIKniAcvllGjMM-usE8H0qjOXFQDYEptxRgYZLc4dbwyNU8KMLlNRCnw$