You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by "Zowalla, Richard" <ri...@hs-heilbronn.de> on 2022/05/24 19:46:48 UTC

Jakarta Mail TCK - Additional Thoughts? (was: TomEE 9.x - from javax to jakarta namespace)

Hi,

I spend some more time on the mail tck and got some additional
insights:

There is one specific mail from the TCK mailbox (test1, mail no. 9),
which breaks the current Geronimo mail impl. This happens, if you try
to bootstrap / setup the test mailbox before running the TCK according
ti their documentation. The same procedere just works, if the reference
impl is used.

The failing tests in the mail tck report similar issues regarding
failed IMAP commands. Therefore, I assume, that the underlying issue is
similar, i.e. if we solve that, we likely fix some of the TCK tests
too.

I added some instructions to 
https://issues.apache.org/jira/browse/GERONIMO-6835 to reproduce the
issue without actually running the TCK, so we might have the chance to
debug it easily. 

Basically:

- Checkout https://github.com/rzo1/geronimo-javamail/tree/tck-issues
- Follow the instructions in tck.adoc to start up a mail server
(docker-compose + docker exec)
- Run "fpopulate" with arguments "-s test1 -d
imap://user01%40james.local:1234@localhost:1143 -D" from within your
IDE
- Observe the debug output on the console


There is a difference between the message length between the RI and the
Geronimo impl (as reported by the { } literal). This might be the cause
(??), but I have no idea what is going on or why it is happening.

Maybe someone has an idea what is going on here? Or has a pointer where
to look at? I might be "lost in the tck madness" for today :)

Gruß
Richard



Am Dienstag, dem 24.05.2022 um 17:13 +0000 schrieb Zowalla, Richard:
> To give a more detailed view / update from the spec tck party
> regarding
> activation and mail:
> 
> (A) Geronimo Activation 2.0
> 
> After a first milestone (M1) and some additional fixes after running
> the activation TCK [1] and related signatures tests, we are now
> passing
> them. 
> 
> JL prepared a release artifact (1.0.0), which is currently under
> vote.
> 
> During the tck work, we found some inconsistency / unspecified
> behaviour of "normalizeMimeTypeParameter" of ActivationDataFlavor.
> While this method is tested in the TCK on the basis of the reference
> implementation neither the spec itself nor the javadoc are really
> clear
> about the "right" return value. At the moment, we adjusted it to pass
> the TCK test in question.
> 
> There is an ongoing discussion at dev@geronimo if this is a desired
> behaviour or if a system property should be introduced in order to
> reduce the possibility of breaking some users.
> 
> (B) Geronimo Mail 2.0 / 2.1
> 
> The current mail impl has some TCK failures. It seems, that we need
> to
> do some additional work to get it compliant with the standalone mail
> tck [3].
> 
> The signature tests are failing for Java 11 but are fine with Java 8
> [4] due to some usage of Object#finalize() and missing annotations
> (only available in Java 9+) in the Geronimo implementation. While it
> is
> not that important for EE9, we need to keep it in mind for EE10.
> 
> We currently pass 166 out of 321 mail tck tests [5]. I guess, we need
> to give it some more love to get the numbers up and finally get it to
> pass the mail tck. The good thing is, that we already pass the
> javamail
> tests for TomEE [6].
> 
> Gruß
> Richard
> 
> 
> 
> [1] https://jakarta.ee/specifications/activation/2.0/
> [2] https://lists.apache.org/thread/h8twm4rmdxt67fx227nyywjp96b6cky1
> [3] https://jakarta.ee/specifications/mail/2.0/
> [4] https://issues.apache.org/jira/browse/GERONIMO-6834
> [5] https://issues.apache.org/jira/browse/GERONIMO-6835
> [6]  
> https://tck.work/tomee/tests?build=1651841331620&path=com.sun.ts.tests.javamail
> 
> Am Dienstag, dem 24.05.2022 um 15:44 +0200 schrieb Jean-Louis
> Monteiro:
> > Alright, time for a new update.
> > 
> > TomEE 8.x with JDK8 and EE8 is equivalent to TomEE 9.x with
> > JDK11/JDK17 and
> > EE9.
> > The build is still not full green, but it's time to start grabbing
> > user
> > feedback as we discussed.
> > 
> > So the work started to take every single piece we fixed or patched
> > to
> > start
> > doing releases and if possible run TCK + signature Tests.
> > 
> > David did activation and mail milestones. Richard used the
> > milestone
> > to fix
> > and we are now under vote for activation 2.0 final and Richard is
> > making
> > some awesomeness on the mail spec and impl. We should be able to
> > get
> > final
> > versions soon.
> > 
> > We also have an OWB vote starting today for a jakarta compatible
> > version
> > (including TCK).
> > Next step is to release a milestone for jakartaee-api 9.1-M2 and
> > move
> > on.
> > 
> > 
> > 
> > --
> > Jean-Louis Monteiro
> > http://twitter.com/jlouismonteiro
> > http://www.tomitribe.com
> > 
> > 
> > On Thu, May 12, 2022 at 9:29 AM Wiesner, Martin <
> > martin.wiesner@hs-heilbronn.de> wrote:
> > 
> > > +1
> > > 
> > > Best
> > > Martin
> > > —
> > > https://twitter.com/mawiesne
> > > 
> > > 
> > > Am 11.05.2022 um 19:00 schrieb Cesar Hernandez <
> > > cesarguate@gmail.com
> > > <ma...@gmail.com>>:
> > > 
> > > +1, Thank you!
> > > 
> > > 
> > > El mié, 11 may 2022 a las 9:06, Daniel Dias Dos Santos (<
> > > daniel.dias.analistati@gmail.com<mailto:
> > > daniel.dias.analistati@gmail.com>>)
> > > escribió:
> > > 
> > > +1
> > > 
> > > On Wed, May 11, 2022, 12:00 Zowalla, Richard <
> > > richard.zowalla@hs-heilbronn.de<mailto:
> > > richard.zowalla@hs-heilbronn.de>>
> > > wrote:
> > > 
> > > I am fine with it: +1
> > > ________________________________
> > > Von: Jean-Louis Monteiro <jlmonteiro@tomitribe.com<mailto:
> > > jlmonteiro@tomitribe.com>>
> > > Gesendet: Mittwoch, 11. Mai 2022 15:57:54
> > > An: dev@tomee.apache.org<ma...@tomee.apache.org>
> > > Betreff: Re: TomEE 9.x - from javax to jakarta namespace
> > > 
> > > Alright, with the latest changes pushed yesterday and today, we
> > > are
> > > now
> > > at
> > > the exact same numbers for TomEE 8.x / Jakarta EE 8 under JDK8
> > > and
> > > TomEE
> > > 9.x / Jakarta 9.1 under JDK17.
> > > 
> > > If everyone is ok with it, we can create a new milestone and give
> > > users
> > > the
> > > opportunity to provide us with some feedback and to report bugs.
> > > 
> > > --
> > > Jean-Louis Monteiro
> > > http://twitter.com/jlouismonteiro
> > > http://www.tomitribe.com
> > > 
> > > 
> > > On Tue, May 10, 2022 at 7:06 PM David Blevins <
> > > david.blevins@gmail.com>
> > > wrote:
> > > 
> > > Was checking out the TCK numbers this morning can make to suggest
> > > a
> > > 9.0.0-M8 while things look good and found this amazing email.
> > > 
> > > The 9.0.x branch is looking absolutely amazing!!!
> > > 
> > > What do we think about pushing out a 9.0.0-M8 while things are in
> > > their
> > > peak-stable state?  I'm sure we'll have to rip up a few more
> > > things
> > > to
> > > finish off the remaining Jakarta EE and MP TCK issues.  Would be
> > > great
> > > to
> > > have something that isn't M7 to fallback on as a reference point
> > > to
> > > track
> > > regressions.
> > > 
> > > Thoughts?
> > > 
> > > 
> > > -David
> > > 
> > > 
> > > 
> > > On May 10, 2022, at 3:56 AM, Jean-Louis Monteiro <
> > > jlmonteiro@tomitribe.com<ma...@tomitribe.com>> wrote:
> > > 
> > > Hi all,
> > > 
> > > Time for some reporting....
> > > 
> > > On our journey to migrate TomEE over from javax to jakarta
> > > namespace,
> > > we
> > > had many issues.
> > > After updating all our code, we had to do a bunch of dependency
> > > upgrades
> > > after upgrading many of them (OpenWebbeans, BVal, Geronimo, etc).
> > > 
> > > We then faced many issues with non compatible libraries for
> > > example
> > > (ActiveMQ, commons-dbcp, CXF, sxc, taglib, etc). So we ended up
> > > repacking
> > > them in our own groupId after using the Maven Shade plugin to
> > > relocate
> > > the
> > > packages.
> > > 
> > > We worked on BVal TCK and CDI TCK and we are close to passing
> > > them.
> > > 
> > > But we had before to solve all our outdated MicroProfile 1.3
> > > stack
> > > to
> > > the
> > > most recent and jakarta compatible version. Geronimo
> > > implementations
> > > being
> > > far being, we decided to use some SmallRye implementations until
> > > we
> > > can
> > > dedicate some time to update our Apache implementations (config,
> > > metrics,
> > > health, openapi, opentracing, fault tolerance).
> > > 
> > > Our build is now more stable, but still not green. Some issues
> > > are
> > > basically easy to fix and most people could do it (examples for
> > > instance).
> > > 
> > > https://ci-builds.apache.org/job/Tomee/job/master-build-full/
> > > 
> > > The integration for openapi, opentracing and fault tolerance is
> > > not
> > > done
> > > and we are far from passing the TCK. On config, metrics and
> > > health
> > > we
> > > are
> > > close. Same for our JWT implementation.
> > > 
> > > I also wanted to have a view on the platform TCK, so I decided to
> > > stop
> > > TomEE work in order to spend time on the Platform TCK to do all
> > > dependency
> > > upgrades and get the TCK to run properly. I'm pleased to announce
> > > that
> > > after 2 weeks of hard work, we are 99% compatible
> > > 
> > > https://tck.work/tomee/build?id=1652104572445
> > > 
> > > Thanks everyone for the help.
> > > Keep going and if you need some guidance or help, let us know.
> > > 
> > > For coordination purposes, here is the issue
> > > https://issues.apache.org/jira/browse/TOMEE-3862
> > > Many subtasks are there and you can create new tasks when needed
> > > and
> > > ask
> > > any committer to assign it to you.
> > > 
> > > 
> > > 
> > > --
> > > Jean-Louis Monteiro
> > > http://twitter.com/jlouismonteiro
> > > http://www.tomitribe.com
> > > 
> > > 
> > > On Thu, May 5, 2022 at 11:13 AM Zowalla, Richard <
> > > richard.zowalla@hs-heilbronn.de> wrote:
> > > 
> > > Yes - we already yanked it in 9.x
> > > 
> > > Gruß
> > > Richard
> > > 
> > > Am Donnerstag, dem 05.05.2022 um 10:10 +0100 schrieb Jonathan
> > > Gallimore:
> > > Sounds good. I'll drop the transformer from the 8.x branch (looks
> > > like we
> > > don't use it in 9.x), and I'll create a single example to
> > > demonstrate
> > > it in
> > > a sandbox.
> > > 
> > > Jon
> > > 
> > > On Wed, May 4, 2022 at 12:32 PM Zowalla, Richard <
> > > richard.zowalla@hs-heilbronn.de<mailto:
> > > richard.zowalla@hs-heilbronn.de>>
> > > wrote:
> > > 
> > > You are right - we can remove it imho from 8.x as we do not test
> > > with
> > > it and the transformed samples might not even work, e.g.
> > > dependencies
> > > are not migrated, etc.
> > > 
> > > +1 for providing a (bigger) example.
> > > 
> > > Gruß
> > > Richard
> > > 
> > > Am Mittwoch, dem 04.05.2022 um 11:17 +0100 schrieb Jonathan
> > > Gallimore:
> > > I've picked up a task related to the examples:
> > > https://issues.apache.org/jira/browse/TOMEE-3873. I specifically
> > > went
> > > for
> > > this, as I added the Eclipse Transformer to the build for a
> > > number of
> > > examples in the past, back when we were doing the transformation
> > > process on
> > > TomEE itself. The drawbacks here is that any tests in the
> > > examples
> > > run on
> > > the javax code, and we just "assume" that the transformed
> > > artifact
> > > works. I
> > > would suggest removing that for the master build, as it just
> > > takes
> > > build
> > > time, and the examples should be transformed from javax to
> > > jakarta at
> > > source (if they aren't already). On the TomEE 8 build, we could
> > > select a
> > > few examples (no need to do them all) and find a way to run the
> > > tests
> > > on
> > > both javax and jakarta versions of TomEE.
> > > 
> > > Additionally, it would likely be useful to add documentation to
> > > this.
> > > If we
> > > also wanted a bigger example application that specifically covers
> > > transformation, I could look at that too.
> > > 
> > > What do you think?
> > > 
> > > Jon
> > > 
> > > 
> > > 
> > > On Tue, Mar 22, 2022 at 12:58 PM Jean-Louis Monteiro <
> > > jlmonteiro@tomitribe.com<ma...@tomitribe.com>> wrote:
> > > 
> > > Hi,
> > > 
> > > I've been working for quite a long time on TomEE 9.x, and it's
> > > been
> > > more
> > > challenging and painful than I was expecting. I thought it
> > > would be
> > > good to
> > > give you some sort of status.
> > > 
> > > I created a PR for the work. As a reminder, since Java EE moved
> > > to
> > > Eclipse
> > > to become Jakarta EE, we had a switch from javax.* namespace to
> > > jakarta.*
> > > namespace. This is an impacting change, since all applications
> > > and
> > > applications servers are built on top of it.
> > > 
> > > In TomEE, we decided to do that change in TomEE. We had
> > > previously
> > > a
> > > bytecode change approach like an application could do. It
> > > worked
> > > and we
> > > were able to get certified. But it had a lot of limitations, so
> > > we
> > > had to
> > > do the migration in the code and fix all compatibility issues.
> > > 
> > > Here is the PR https://github.com/apache/tomee/pull/814
> > > It has 90+ commits and nearly 5000 files touched (added,
> > > removed,
> > > updated).
> > > I understand it's a lot and it makes it almost impossible to
> > > review. But I
> > > did not see much approaches in this scenario to create smaller
> > > PRs.
> > > 
> > > I created a Jenkins build though available at
> > > 
> > > https://ci-builds.apache.org/job/Tomee/job/master-build-quick-9.x/
> > > 
> > > It makes it possible to track the progress. There have been
> > > steps
> > > forward
> > > and steps backward.
> > > 
> > > All the code does not sit under TomEE, we use a bunch of third
> > > party
> > > projects and libraries. I have been able to contribute, publish
> > > jakarta
> > > compatible versions and get releases for some of them (Jakarta
> > > EE
> > > APIs Uber
> > > jar, Geronimo Connectors and Transaction Manager, Geronimo
> > > Config,
> > > Health,
> > > Metrics, OpenTracing, OpenAPI. OpenJPA, BVal, and OpenWebBeans
> > > will
> > > be
> > > released soon.
> > > 
> > > The big parts is CXF, and ActiveMQ. I had to get them done in
> > > TomEE
> > > and
> > > update all group/artifact ids. It's under deps, alongside with
> > > SXC,
> > > DBCP,
> > > and others.
> > > 
> > > In terms of removal, I tried to remove old stuff like SAAJ Axis
> > > 1
> > > integration, JAX RPC, Management J2EE and a couple of other old
> > > things.
> > > 
> > > A lot of other libraries got updated to their latest version
> > > when
> > > available
> > > in the new jakarta namespace.
> > > 
> > > I'm starting to get all the build stable and many modules are
> > > passing now,
> > > including all CXF webservices, OpenEJB Core, and others. I can
> > > get
> > > a build
> > > and run TomEE.
> > > 
> > > Goal is to get a green build asap so we can start working on
> > > TCK.
> > > The "quick" build is now green. Working on the full build.
> > > 
> > > I'll soon be creating a branch for TomEE 8.x maintenance and
> > > merge
> > > the PR.
> > > I'm hoping we can then have small PRs or at least more people
> > > working in
> > > parallel.
> > > 
> > > --
> > > Jean-Louis Monteiro
> > > http://twitter.com/jlouismonteiro
> > > http://www.tomitribe.com
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > --
> > > Atentamente:
> > > César Hernández.
> > > 
> > > 

Re: Jakarta Mail TCK - Additional Thoughts? (was: TomEE 9.x - from javax to jakarta namespace)

Posted by "Zowalla, Richard" <ri...@hs-heilbronn.de>.
Hi Romain,

thanks for the pointer - it sounds somehow familiar to what we
observed. Need to check though :)

Gruß
Richard

Am Donnerstag, dem 02.06.2022 um 09:17 +0200 schrieb Romain Manni-
Bucau:
> Hi,
> 
> Did you try handling LITERAL+ capability (1)? I don't think we do as
> of
> today.
> 
> (1)
> https://datatracker.ietf.org/doc/html/rfc7888#:~:text=LITERAL%2B%20allows%20the%20alternate%20form%20of%20literals%20(called%20%22non%2D,are%204096%20bytes%20or%20less
> .
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <https://rmannibucau.metawerx.net/> | Old Blog
> <http://rmannibucau.wordpress.com> | Github <
> https://github.com/rmannibucau> |
> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> <
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> >
> 
> 
> Le mar. 31 mai 2022 à 09:54, Zowalla, Richard <
> richard.zowalla@hs-heilbronn.de> a écrit :
> 
> > Hi,
> > 
> > short update on this:
> > 
> > Collaborated with JL and exchanged some ideas via Slack.
> > 
> > We now tested James + Greenmail as mail servers to rule out any
> > hard-
> > coded TCK assumption regarding James. Both fail with the same
> > exception
> > / issue on the same TCK mail:
> > https://github.com/eclipse-ee4j/mail-tck/blob/2.0.0/tests/mailboxes/test1/9
> > 
> > The difference between the RI and our impl is basically the literal
> > header:
> > 
> > a5 APPEND test1 () "8-Dec-1996 15:30:12 +0100" {150432}
> > a5 BAD APPEND failed. Illegal arguments.
> > 
> > vs (RI):
> > 
> > A6 APPEND test1 () "08-Dec-1996 15:30:12 +0100" {153113+}
> > A6 OK [APPENDUID 466034631 1] APPEND completed.
> >   Copied 1 messages
> > 
> > I pushed a configured Jakarta Mail TCK 2.0.1 setup with updated
> > instructions into this repository: https://github.com/rzo1/mail-tck
> > 
> > In addition, I am CC'ing the geronimo list, in case some people
> > there
> > have additional ideas. Otherwise, we will need to take a dive into
> > the
> > imap spec / server-side impl to get any clues :)
> > 
> > Gruß
> > Richard
> > 
> > 
> > Am Dienstag, dem 24.05.2022 um 19:46 +0000 schrieb Zowalla,
> > Richard:
> > > Hi,
> > > 
> > > I spend some more time on the mail tck and got some additional
> > > insights:
> > > 
> > > There is one specific mail from the TCK mailbox (test1, mail no.
> > > 9),
> > > which breaks the current Geronimo mail impl. This happens, if you
> > > try
> > > to bootstrap / setup the test mailbox before running the TCK
> > > according
> > > ti their documentation. The same procedere just works, if the
> > > reference
> > > impl is used.
> > > 
> > > The failing tests in the mail tck report similar issues regarding
> > > failed IMAP commands. Therefore, I assume, that the underlying
> > > issue
> > > is
> > > similar, i.e. if we solve that, we likely fix some of the TCK
> > > tests
> > > too.
> > > 
> > > I added some instructions to
> > > https://issues.apache.org/jira/browse/GERONIMO-6835 to reproduce
> > > the
> > > issue without actually running the TCK, so we might have the
> > > chance
> > > to
> > > debug it easily.
> > > 
> > > Basically:
> > > 
> > > - Checkout 
> > > https://github.com/rzo1/geronimo-javamail/tree/tck-issues
> > > - Follow the instructions in tck.adoc to start up a mail server
> > > (docker-compose + docker exec)
> > > - Run "fpopulate" with arguments "-s test1 -d
> > > imap://user01%40james.local:1234@localhost:1143 -D" from within
> > > your
> > > IDE
> > > - Observe the debug output on the console
> > > 
> > > 
> > > There is a difference between the message length between the RI
> > > and
> > > the
> > > Geronimo impl (as reported by the { } literal). This might be the
> > > cause
> > > (??), but I have no idea what is going on or why it is happening.
> > > 
> > > Maybe someone has an idea what is going on here? Or has a pointer
> > > where
> > > to look at? I might be "lost in the tck madness" for today :)
> > > 
> > > Gruß
> > > Richard
> > > 
> > > 
> > > 
> > > Am Dienstag, dem 24.05.2022 um 17:13 +0000 schrieb Zowalla,
> > > Richard:
> > > > To give a more detailed view / update from the spec tck party
> > > > regarding
> > > > activation and mail:
> > > > 
> > > > (A) Geronimo Activation 2.0
> > > > 
> > > > After a first milestone (M1) and some additional fixes after
> > > > running
> > > > the activation TCK [1] and related signatures tests, we are now
> > > > passing
> > > > them.
> > > > 
> > > > JL prepared a release artifact (1.0.0), which is currently
> > > > under
> > > > vote.
> > > > 
> > > > During the tck work, we found some inconsistency / unspecified
> > > > behaviour of "normalizeMimeTypeParameter" of
> > > > ActivationDataFlavor.
> > > > While this method is tested in the TCK on the basis of the
> > > > reference
> > > > implementation neither the spec itself nor the javadoc are
> > > > really
> > > > clear
> > > > about the "right" return value. At the moment, we adjusted it
> > > > to
> > > > pass
> > > > the TCK test in question.
> > > > 
> > > > There is an ongoing discussion at dev@geronimo if this is a
> > > > desired
> > > > behaviour or if a system property should be introduced in order
> > > > to
> > > > reduce the possibility of breaking some users.
> > > > 
> > > > (B) Geronimo Mail 2.0 / 2.1
> > > > 
> > > > The current mail impl has some TCK failures. It seems, that we
> > > > need
> > > > to
> > > > do some additional work to get it compliant with the standalone
> > > > mail
> > > > tck [3].
> > > > 
> > > > The signature tests are failing for Java 11 but are fine with
> > > > Java
> > > > 8
> > > > [4] due to some usage of Object#finalize() and missing
> > > > annotations
> > > > (only available in Java 9+) in the Geronimo implementation.
> > > > While
> > > > it
> > > > is
> > > > not that important for EE9, we need to keep it in mind for
> > > > EE10.
> > > > 
> > > > We currently pass 166 out of 321 mail tck tests [5]. I guess,
> > > > we
> > > > need
> > > > to give it some more love to get the numbers up and finally get
> > > > it
> > > > to
> > > > pass the mail tck. The good thing is, that we already pass the
> > > > javamail
> > > > tests for TomEE [6].
> > > > 
> > > > Gruß
> > > > Richard
> > > > 
> > > > 
> > > > 
> > > > [1] https://jakarta.ee/specifications/activation/2.0/
> > > > [2]
> > > > https://lists.apache.org/thread/h8twm4rmdxt67fx227nyywjp96b6cky1
> > > > [3] https://jakarta.ee/specifications/mail/2.0/
> > > > [4] https://issues.apache.org/jira/browse/GERONIMO-6834
> > > > [5] https://issues.apache.org/jira/browse/GERONIMO-6835
> > > > [6]
> > > > 
> > https://tck.work/tomee/tests?build=1651841331620&path=com.sun.ts.tests.javamail
> > > > Am Dienstag, dem 24.05.2022 um 15:44 +0200 schrieb Jean-Louis
> > > > Monteiro:
> > > > > Alright, time for a new update.
> > > > > 
> > > > > TomEE 8.x with JDK8 and EE8 is equivalent to TomEE 9.x with
> > > > > JDK11/JDK17 and
> > > > > EE9.
> > > > > The build is still not full green, but it's time to start
> > > > > grabbing
> > > > > user
> > > > > feedback as we discussed.
> > > > > 
> > > > > So the work started to take every single piece we fixed or
> > > > > patched
> > > > > to
> > > > > start
> > > > > doing releases and if possible run TCK + signature Tests.
> > > > > 
> > > > > David did activation and mail milestones. Richard used the
> > > > > milestone
> > > > > to fix
> > > > > and we are now under vote for activation 2.0 final and
> > > > > Richard is
> > > > > making
> > > > > some awesomeness on the mail spec and impl. We should be able
> > > > > to
> > > > > get
> > > > > final
> > > > > versions soon.
> > > > > 
> > > > > We also have an OWB vote starting today for a jakarta
> > > > > compatible
> > > > > version
> > > > > (including TCK).
> > > > > Next step is to release a milestone for jakartaee-api 9.1-M2
> > > > > and
> > > > > move
> > > > > on.
> > > > > 
> > > > > 
> > > > > 
> > > > > --
> > > > > Jean-Louis Monteiro
> > > > > http://twitter.com/jlouismonteiro
> > > > > http://www.tomitribe.com
> > > > > 
> > > > > 
> > > > > On Thu, May 12, 2022 at 9:29 AM Wiesner, Martin <
> > > > > martin.wiesner@hs-heilbronn.de> wrote:
> > > > > 
> > > > > > +1
> > > > > > 
> > > > > > Best
> > > > > > Martin
> > > > > > —
> > > > > > https://twitter.com/mawiesne
> > > > > > 
> > > > > > 
> > > > > > Am 11.05.2022 um 19:00 schrieb Cesar Hernandez <
> > > > > > cesarguate@gmail.com
> > > > > > <ma...@gmail.com>>:
> > > > > > 
> > > > > > +1, Thank you!
> > > > > > 
> > > > > > 
> > > > > > El mié, 11 may 2022 a las 9:06, Daniel Dias Dos Santos (<
> > > > > > daniel.dias.analistati@gmail.com<mailto:
> > > > > > daniel.dias.analistati@gmail.com>>)
> > > > > > escribió:
> > > > > > 
> > > > > > +1
> > > > > > 
> > > > > > On Wed, May 11, 2022, 12:00 Zowalla, Richard <
> > > > > > richard.zowalla@hs-heilbronn.de<mailto:
> > > > > > richard.zowalla@hs-heilbronn.de>>
> > > > > > wrote:
> > > > > > 
> > > > > > I am fine with it: +1
> > > > > > ________________________________
> > > > > > Von: Jean-Louis Monteiro <jlmonteiro@tomitribe.com<mailto:
> > > > > > jlmonteiro@tomitribe.com>>
> > > > > > Gesendet: Mittwoch, 11. Mai 2022 15:57:54
> > > > > > An: dev@tomee.apache.org<ma...@tomee.apache.org>
> > > > > > Betreff: Re: TomEE 9.x - from javax to jakarta namespace
> > > > > > 
> > > > > > Alright, with the latest changes pushed yesterday and
> > > > > > today, we
> > > > > > are
> > > > > > now
> > > > > > at
> > > > > > the exact same numbers for TomEE 8.x / Jakarta EE 8 under
> > > > > > JDK8
> > > > > > and
> > > > > > TomEE
> > > > > > 9.x / Jakarta 9.1 under JDK17.
> > > > > > 
> > > > > > If everyone is ok with it, we can create a new milestone
> > > > > > and
> > > > > > give
> > > > > > users
> > > > > > the
> > > > > > opportunity to provide us with some feedback and to report
> > > > > > bugs.
> > > > > > 
> > > > > > --
> > > > > > Jean-Louis Monteiro
> > > > > > http://twitter.com/jlouismonteiro
> > > > > > http://www.tomitribe.com
> > > > > > 
> > > > > > 
> > > > > > On Tue, May 10, 2022 at 7:06 PM David Blevins <
> > > > > > david.blevins@gmail.com>
> > > > > > wrote:
> > > > > > 
> > > > > > Was checking out the TCK numbers this morning can make to
> > > > > > suggest
> > > > > > a
> > > > > > 9.0.0-M8 while things look good and found this amazing
> > > > > > email.
> > > > > > 
> > > > > > The 9.0.x branch is looking absolutely amazing!!!
> > > > > > 
> > > > > > What do we think about pushing out a 9.0.0-M8 while things
> > > > > > are
> > > > > > in
> > > > > > their
> > > > > > peak-stable state?  I'm sure we'll have to rip up a few
> > > > > > more
> > > > > > things
> > > > > > to
> > > > > > finish off the remaining Jakarta EE and MP TCK
> > > > > > issues.  Would
> > > > > > be
> > > > > > great
> > > > > > to
> > > > > > have something that isn't M7 to fallback on as a reference
> > > > > > point
> > > > > > to
> > > > > > track
> > > > > > regressions.
> > > > > > 
> > > > > > Thoughts?
> > > > > > 
> > > > > > 
> > > > > > -David
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > On May 10, 2022, at 3:56 AM, Jean-Louis Monteiro <
> > > > > > jlmonteiro@tomitribe.com<ma...@tomitribe.com>>
> > > > > > wrote:
> > > > > > 
> > > > > > Hi all,
> > > > > > 
> > > > > > Time for some reporting....
> > > > > > 
> > > > > > On our journey to migrate TomEE over from javax to jakarta
> > > > > > namespace,
> > > > > > we
> > > > > > had many issues.
> > > > > > After updating all our code, we had to do a bunch of
> > > > > > dependency
> > > > > > upgrades
> > > > > > after upgrading many of them (OpenWebbeans, BVal, Geronimo,
> > > > > > etc).
> > > > > > 
> > > > > > We then faced many issues with non compatible libraries for
> > > > > > example
> > > > > > (ActiveMQ, commons-dbcp, CXF, sxc, taglib, etc). So we
> > > > > > ended up
> > > > > > repacking
> > > > > > them in our own groupId after using the Maven Shade plugin
> > > > > > to
> > > > > > relocate
> > > > > > the
> > > > > > packages.
> > > > > > 
> > > > > > We worked on BVal TCK and CDI TCK and we are close to
> > > > > > passing
> > > > > > them.
> > > > > > 
> > > > > > But we had before to solve all our outdated MicroProfile
> > > > > > 1.3
> > > > > > stack
> > > > > > to
> > > > > > the
> > > > > > most recent and jakarta compatible version. Geronimo
> > > > > > implementations
> > > > > > being
> > > > > > far being, we decided to use some SmallRye implementations
> > > > > > until
> > > > > > we
> > > > > > can
> > > > > > dedicate some time to update our Apache implementations
> > > > > > (config,
> > > > > > metrics,
> > > > > > health, openapi, opentracing, fault tolerance).
> > > > > > 
> > > > > > Our build is now more stable, but still not green. Some
> > > > > > issues
> > > > > > are
> > > > > > basically easy to fix and most people could do it (examples
> > > > > > for
> > > > > > instance).
> > > > > > 
> > > > > > https://ci-builds.apache.org/job/Tomee/job/master-build-full/
> > > > > > 
> > > > > > The integration for openapi, opentracing and fault
> > > > > > tolerance is
> > > > > > not
> > > > > > done
> > > > > > and we are far from passing the TCK. On config, metrics and
> > > > > > health
> > > > > > we
> > > > > > are
> > > > > > close. Same for our JWT implementation.
> > > > > > 
> > > > > > I also wanted to have a view on the platform TCK, so I
> > > > > > decided
> > > > > > to
> > > > > > stop
> > > > > > TomEE work in order to spend time on the Platform TCK to do
> > > > > > all
> > > > > > dependency
> > > > > > upgrades and get the TCK to run properly. I'm pleased to
> > > > > > announce
> > > > > > that
> > > > > > after 2 weeks of hard work, we are 99% compatible
> > > > > > 
> > > > > > https://tck.work/tomee/build?id=1652104572445
> > > > > > 
> > > > > > Thanks everyone for the help.
> > > > > > Keep going and if you need some guidance or help, let us
> > > > > > know.
> > > > > > 
> > > > > > For coordination purposes, here is the issue
> > > > > > https://issues.apache.org/jira/browse/TOMEE-3862
> > > > > > Many subtasks are there and you can create new tasks when
> > > > > > needed
> > > > > > and
> > > > > > ask
> > > > > > any committer to assign it to you.
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > --
> > > > > > Jean-Louis Monteiro
> > > > > > http://twitter.com/jlouismonteiro
> > > > > > http://www.tomitribe.com
> > > > > > 
> > > > > > 
> > > > > > On Thu, May 5, 2022 at 11:13 AM Zowalla, Richard <
> > > > > > richard.zowalla@hs-heilbronn.de> wrote:
> > > > > > 
> > > > > > Yes - we already yanked it in 9.x
> > > > > > 
> > > > > > Gruß
> > > > > > Richard
> > > > > > 
> > > > > > Am Donnerstag, dem 05.05.2022 um 10:10 +0100 schrieb
> > > > > > Jonathan
> > > > > > Gallimore:
> > > > > > Sounds good. I'll drop the transformer from the 8.x branch
> > > > > > (looks
> > > > > > like we
> > > > > > don't use it in 9.x), and I'll create a single example to
> > > > > > demonstrate
> > > > > > it in
> > > > > > a sandbox.
> > > > > > 
> > > > > > Jon
> > > > > > 
> > > > > > On Wed, May 4, 2022 at 12:32 PM Zowalla, Richard <
> > > > > > richard.zowalla@hs-heilbronn.de<mailto:
> > > > > > richard.zowalla@hs-heilbronn.de>>
> > > > > > wrote:
> > > > > > 
> > > > > > You are right - we can remove it imho from 8.x as we do not
> > > > > > test
> > > > > > with
> > > > > > it and the transformed samples might not even work, e.g.
> > > > > > dependencies
> > > > > > are not migrated, etc.
> > > > > > 
> > > > > > +1 for providing a (bigger) example.
> > > > > > 
> > > > > > Gruß
> > > > > > Richard
> > > > > > 
> > > > > > Am Mittwoch, dem 04.05.2022 um 11:17 +0100 schrieb Jonathan
> > > > > > Gallimore:
> > > > > > I've picked up a task related to the examples:
> > > > > > https://issues.apache.org/jira/browse/TOMEE-3873. I
> > > > > > specifically
> > > > > > went
> > > > > > for
> > > > > > this, as I added the Eclipse Transformer to the build for a
> > > > > > number of
> > > > > > examples in the past, back when we were doing the
> > > > > > transformation
> > > > > > process on
> > > > > > TomEE itself. The drawbacks here is that any tests in the
> > > > > > examples
> > > > > > run on
> > > > > > the javax code, and we just "assume" that the transformed
> > > > > > artifact
> > > > > > works. I
> > > > > > would suggest removing that for the master build, as it
> > > > > > just
> > > > > > takes
> > > > > > build
> > > > > > time, and the examples should be transformed from javax to
> > > > > > jakarta at
> > > > > > source (if they aren't already). On the TomEE 8 build, we
> > > > > > could
> > > > > > select a
> > > > > > few examples (no need to do them all) and find a way to run
> > > > > > the
> > > > > > tests
> > > > > > on
> > > > > > both javax and jakarta versions of TomEE.
> > > > > > 
> > > > > > Additionally, it would likely be useful to add
> > > > > > documentation to
> > > > > > this.
> > > > > > If we
> > > > > > also wanted a bigger example application that specifically
> > > > > > covers
> > > > > > transformation, I could look at that too.
> > > > > > 
> > > > > > What do you think?
> > > > > > 
> > > > > > Jon
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > On Tue, Mar 22, 2022 at 12:58 PM Jean-Louis Monteiro <
> > > > > > jlmonteiro@tomitribe.com<ma...@tomitribe.com>>
> > > > > > wrote:
> > > > > > 
> > > > > > Hi,
> > > > > > 
> > > > > > I've been working for quite a long time on TomEE 9.x, and
> > > > > > it's
> > > > > > been
> > > > > > more
> > > > > > challenging and painful than I was expecting. I thought it
> > > > > > would be
> > > > > > good to
> > > > > > give you some sort of status.
> > > > > > 
> > > > > > I created a PR for the work. As a reminder, since Java EE
> > > > > > moved
> > > > > > to
> > > > > > Eclipse
> > > > > > to become Jakarta EE, we had a switch from javax.*
> > > > > > namespace to
> > > > > > jakarta.*
> > > > > > namespace. This is an impacting change, since all
> > > > > > applications
> > > > > > and
> > > > > > applications servers are built on top of it.
> > > > > > 
> > > > > > In TomEE, we decided to do that change in TomEE. We had
> > > > > > previously
> > > > > > a
> > > > > > bytecode change approach like an application could do. It
> > > > > > worked
> > > > > > and we
> > > > > > were able to get certified. But it had a lot of
> > > > > > limitations, so
> > > > > > we
> > > > > > had to
> > > > > > do the migration in the code and fix all compatibility
> > > > > > issues.
> > > > > > 
> > > > > > Here is the PR https://github.com/apache/tomee/pull/814
> > > > > > It has 90+ commits and nearly 5000 files touched (added,
> > > > > > removed,
> > > > > > updated).
> > > > > > I understand it's a lot and it makes it almost impossible
> > > > > > to
> > > > > > review. But I
> > > > > > did not see much approaches in this scenario to create
> > > > > > smaller
> > > > > > PRs.
> > > > > > 
> > > > > > I created a Jenkins build though available at
> > > > > > 
> > > > > > https://ci-builds.apache.org/job/Tomee/job/master-build-quick-9.x/
> > > > > > 
> > > > > > It makes it possible to track the progress. There have been
> > > > > > steps
> > > > > > forward
> > > > > > and steps backward.
> > > > > > 
> > > > > > All the code does not sit under TomEE, we use a bunch of
> > > > > > third
> > > > > > party
> > > > > > projects and libraries. I have been able to contribute,
> > > > > > publish
> > > > > > jakarta
> > > > > > compatible versions and get releases for some of them
> > > > > > (Jakarta
> > > > > > EE
> > > > > > APIs Uber
> > > > > > jar, Geronimo Connectors and Transaction Manager, Geronimo
> > > > > > Config,
> > > > > > Health,
> > > > > > Metrics, OpenTracing, OpenAPI. OpenJPA, BVal, and
> > > > > > OpenWebBeans
> > > > > > will
> > > > > > be
> > > > > > released soon.
> > > > > > 
> > > > > > The big parts is CXF, and ActiveMQ. I had to get them done
> > > > > > in
> > > > > > TomEE
> > > > > > and
> > > > > > update all group/artifact ids. It's under deps, alongside
> > > > > > with
> > > > > > SXC,
> > > > > > DBCP,
> > > > > > and others.
> > > > > > 
> > > > > > In terms of removal, I tried to remove old stuff like SAAJ
> > > > > > Axis
> > > > > > 1
> > > > > > integration, JAX RPC, Management J2EE and a couple of other
> > > > > > old
> > > > > > things.
> > > > > > 
> > > > > > A lot of other libraries got updated to their latest
> > > > > > version
> > > > > > when
> > > > > > available
> > > > > > in the new jakarta namespace.
> > > > > > 
> > > > > > I'm starting to get all the build stable and many modules
> > > > > > are
> > > > > > passing now,
> > > > > > including all CXF webservices, OpenEJB Core, and others. I
> > > > > > can
> > > > > > get
> > > > > > a build
> > > > > > and run TomEE.
> > > > > > 
> > > > > > Goal is to get a green build asap so we can start working
> > > > > > on
> > > > > > TCK.
> > > > > > The "quick" build is now green. Working on the full build.
> > > > > > 
> > > > > > I'll soon be creating a branch for TomEE 8.x maintenance
> > > > > > and
> > > > > > merge
> > > > > > the PR.
> > > > > > I'm hoping we can then have small PRs or at least more
> > > > > > people
> > > > > > working in
> > > > > > parallel.
> > > > > > 
> > > > > > --
> > > > > > Jean-Louis Monteiro
> > > > > > http://twitter.com/jlouismonteiro
> > > > > > http://www.tomitribe.com
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > --
> > > > > > Atentamente:
> > > > > > César Hernández.
> > > > > > 
> > > > > > 

Re: Jakarta Mail TCK - Additional Thoughts? (was: TomEE 9.x - from javax to jakarta namespace)

Posted by "Zowalla, Richard" <ri...@hs-heilbronn.de>.
Hi Romain,

thanks for the pointer - it sounds somehow familiar to what we
observed. Need to check though :)

Gruß
Richard

Am Donnerstag, dem 02.06.2022 um 09:17 +0200 schrieb Romain Manni-
Bucau:
> Hi,
> 
> Did you try handling LITERAL+ capability (1)? I don't think we do as
> of
> today.
> 
> (1)
> https://datatracker.ietf.org/doc/html/rfc7888#:~:text=LITERAL%2B%20allows%20the%20alternate%20form%20of%20literals%20(called%20%22non%2D,are%204096%20bytes%20or%20less
> .
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <https://rmannibucau.metawerx.net/> | Old Blog
> <http://rmannibucau.wordpress.com> | Github <
> https://github.com/rmannibucau> |
> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> <
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> >
> 
> 
> Le mar. 31 mai 2022 à 09:54, Zowalla, Richard <
> richard.zowalla@hs-heilbronn.de> a écrit :
> 
> > Hi,
> > 
> > short update on this:
> > 
> > Collaborated with JL and exchanged some ideas via Slack.
> > 
> > We now tested James + Greenmail as mail servers to rule out any
> > hard-
> > coded TCK assumption regarding James. Both fail with the same
> > exception
> > / issue on the same TCK mail:
> > https://github.com/eclipse-ee4j/mail-tck/blob/2.0.0/tests/mailboxes/test1/9
> > 
> > The difference between the RI and our impl is basically the literal
> > header:
> > 
> > a5 APPEND test1 () "8-Dec-1996 15:30:12 +0100" {150432}
> > a5 BAD APPEND failed. Illegal arguments.
> > 
> > vs (RI):
> > 
> > A6 APPEND test1 () "08-Dec-1996 15:30:12 +0100" {153113+}
> > A6 OK [APPENDUID 466034631 1] APPEND completed.
> >   Copied 1 messages
> > 
> > I pushed a configured Jakarta Mail TCK 2.0.1 setup with updated
> > instructions into this repository: https://github.com/rzo1/mail-tck
> > 
> > In addition, I am CC'ing the geronimo list, in case some people
> > there
> > have additional ideas. Otherwise, we will need to take a dive into
> > the
> > imap spec / server-side impl to get any clues :)
> > 
> > Gruß
> > Richard
> > 
> > 
> > Am Dienstag, dem 24.05.2022 um 19:46 +0000 schrieb Zowalla,
> > Richard:
> > > Hi,
> > > 
> > > I spend some more time on the mail tck and got some additional
> > > insights:
> > > 
> > > There is one specific mail from the TCK mailbox (test1, mail no.
> > > 9),
> > > which breaks the current Geronimo mail impl. This happens, if you
> > > try
> > > to bootstrap / setup the test mailbox before running the TCK
> > > according
> > > ti their documentation. The same procedere just works, if the
> > > reference
> > > impl is used.
> > > 
> > > The failing tests in the mail tck report similar issues regarding
> > > failed IMAP commands. Therefore, I assume, that the underlying
> > > issue
> > > is
> > > similar, i.e. if we solve that, we likely fix some of the TCK
> > > tests
> > > too.
> > > 
> > > I added some instructions to
> > > https://issues.apache.org/jira/browse/GERONIMO-6835 to reproduce
> > > the
> > > issue without actually running the TCK, so we might have the
> > > chance
> > > to
> > > debug it easily.
> > > 
> > > Basically:
> > > 
> > > - Checkout 
> > > https://github.com/rzo1/geronimo-javamail/tree/tck-issues
> > > - Follow the instructions in tck.adoc to start up a mail server
> > > (docker-compose + docker exec)
> > > - Run "fpopulate" with arguments "-s test1 -d
> > > imap://user01%40james.local:1234@localhost:1143 -D" from within
> > > your
> > > IDE
> > > - Observe the debug output on the console
> > > 
> > > 
> > > There is a difference between the message length between the RI
> > > and
> > > the
> > > Geronimo impl (as reported by the { } literal). This might be the
> > > cause
> > > (??), but I have no idea what is going on or why it is happening.
> > > 
> > > Maybe someone has an idea what is going on here? Or has a pointer
> > > where
> > > to look at? I might be "lost in the tck madness" for today :)
> > > 
> > > Gruß
> > > Richard
> > > 
> > > 
> > > 
> > > Am Dienstag, dem 24.05.2022 um 17:13 +0000 schrieb Zowalla,
> > > Richard:
> > > > To give a more detailed view / update from the spec tck party
> > > > regarding
> > > > activation and mail:
> > > > 
> > > > (A) Geronimo Activation 2.0
> > > > 
> > > > After a first milestone (M1) and some additional fixes after
> > > > running
> > > > the activation TCK [1] and related signatures tests, we are now
> > > > passing
> > > > them.
> > > > 
> > > > JL prepared a release artifact (1.0.0), which is currently
> > > > under
> > > > vote.
> > > > 
> > > > During the tck work, we found some inconsistency / unspecified
> > > > behaviour of "normalizeMimeTypeParameter" of
> > > > ActivationDataFlavor.
> > > > While this method is tested in the TCK on the basis of the
> > > > reference
> > > > implementation neither the spec itself nor the javadoc are
> > > > really
> > > > clear
> > > > about the "right" return value. At the moment, we adjusted it
> > > > to
> > > > pass
> > > > the TCK test in question.
> > > > 
> > > > There is an ongoing discussion at dev@geronimo if this is a
> > > > desired
> > > > behaviour or if a system property should be introduced in order
> > > > to
> > > > reduce the possibility of breaking some users.
> > > > 
> > > > (B) Geronimo Mail 2.0 / 2.1
> > > > 
> > > > The current mail impl has some TCK failures. It seems, that we
> > > > need
> > > > to
> > > > do some additional work to get it compliant with the standalone
> > > > mail
> > > > tck [3].
> > > > 
> > > > The signature tests are failing for Java 11 but are fine with
> > > > Java
> > > > 8
> > > > [4] due to some usage of Object#finalize() and missing
> > > > annotations
> > > > (only available in Java 9+) in the Geronimo implementation.
> > > > While
> > > > it
> > > > is
> > > > not that important for EE9, we need to keep it in mind for
> > > > EE10.
> > > > 
> > > > We currently pass 166 out of 321 mail tck tests [5]. I guess,
> > > > we
> > > > need
> > > > to give it some more love to get the numbers up and finally get
> > > > it
> > > > to
> > > > pass the mail tck. The good thing is, that we already pass the
> > > > javamail
> > > > tests for TomEE [6].
> > > > 
> > > > Gruß
> > > > Richard
> > > > 
> > > > 
> > > > 
> > > > [1] https://jakarta.ee/specifications/activation/2.0/
> > > > [2]
> > > > https://lists.apache.org/thread/h8twm4rmdxt67fx227nyywjp96b6cky1
> > > > [3] https://jakarta.ee/specifications/mail/2.0/
> > > > [4] https://issues.apache.org/jira/browse/GERONIMO-6834
> > > > [5] https://issues.apache.org/jira/browse/GERONIMO-6835
> > > > [6]
> > > > 
> > https://tck.work/tomee/tests?build=1651841331620&path=com.sun.ts.tests.javamail
> > > > Am Dienstag, dem 24.05.2022 um 15:44 +0200 schrieb Jean-Louis
> > > > Monteiro:
> > > > > Alright, time for a new update.
> > > > > 
> > > > > TomEE 8.x with JDK8 and EE8 is equivalent to TomEE 9.x with
> > > > > JDK11/JDK17 and
> > > > > EE9.
> > > > > The build is still not full green, but it's time to start
> > > > > grabbing
> > > > > user
> > > > > feedback as we discussed.
> > > > > 
> > > > > So the work started to take every single piece we fixed or
> > > > > patched
> > > > > to
> > > > > start
> > > > > doing releases and if possible run TCK + signature Tests.
> > > > > 
> > > > > David did activation and mail milestones. Richard used the
> > > > > milestone
> > > > > to fix
> > > > > and we are now under vote for activation 2.0 final and
> > > > > Richard is
> > > > > making
> > > > > some awesomeness on the mail spec and impl. We should be able
> > > > > to
> > > > > get
> > > > > final
> > > > > versions soon.
> > > > > 
> > > > > We also have an OWB vote starting today for a jakarta
> > > > > compatible
> > > > > version
> > > > > (including TCK).
> > > > > Next step is to release a milestone for jakartaee-api 9.1-M2
> > > > > and
> > > > > move
> > > > > on.
> > > > > 
> > > > > 
> > > > > 
> > > > > --
> > > > > Jean-Louis Monteiro
> > > > > http://twitter.com/jlouismonteiro
> > > > > http://www.tomitribe.com
> > > > > 
> > > > > 
> > > > > On Thu, May 12, 2022 at 9:29 AM Wiesner, Martin <
> > > > > martin.wiesner@hs-heilbronn.de> wrote:
> > > > > 
> > > > > > +1
> > > > > > 
> > > > > > Best
> > > > > > Martin
> > > > > > —
> > > > > > https://twitter.com/mawiesne
> > > > > > 
> > > > > > 
> > > > > > Am 11.05.2022 um 19:00 schrieb Cesar Hernandez <
> > > > > > cesarguate@gmail.com
> > > > > > <ma...@gmail.com>>:
> > > > > > 
> > > > > > +1, Thank you!
> > > > > > 
> > > > > > 
> > > > > > El mié, 11 may 2022 a las 9:06, Daniel Dias Dos Santos (<
> > > > > > daniel.dias.analistati@gmail.com<mailto:
> > > > > > daniel.dias.analistati@gmail.com>>)
> > > > > > escribió:
> > > > > > 
> > > > > > +1
> > > > > > 
> > > > > > On Wed, May 11, 2022, 12:00 Zowalla, Richard <
> > > > > > richard.zowalla@hs-heilbronn.de<mailto:
> > > > > > richard.zowalla@hs-heilbronn.de>>
> > > > > > wrote:
> > > > > > 
> > > > > > I am fine with it: +1
> > > > > > ________________________________
> > > > > > Von: Jean-Louis Monteiro <jlmonteiro@tomitribe.com<mailto:
> > > > > > jlmonteiro@tomitribe.com>>
> > > > > > Gesendet: Mittwoch, 11. Mai 2022 15:57:54
> > > > > > An: dev@tomee.apache.org<ma...@tomee.apache.org>
> > > > > > Betreff: Re: TomEE 9.x - from javax to jakarta namespace
> > > > > > 
> > > > > > Alright, with the latest changes pushed yesterday and
> > > > > > today, we
> > > > > > are
> > > > > > now
> > > > > > at
> > > > > > the exact same numbers for TomEE 8.x / Jakarta EE 8 under
> > > > > > JDK8
> > > > > > and
> > > > > > TomEE
> > > > > > 9.x / Jakarta 9.1 under JDK17.
> > > > > > 
> > > > > > If everyone is ok with it, we can create a new milestone
> > > > > > and
> > > > > > give
> > > > > > users
> > > > > > the
> > > > > > opportunity to provide us with some feedback and to report
> > > > > > bugs.
> > > > > > 
> > > > > > --
> > > > > > Jean-Louis Monteiro
> > > > > > http://twitter.com/jlouismonteiro
> > > > > > http://www.tomitribe.com
> > > > > > 
> > > > > > 
> > > > > > On Tue, May 10, 2022 at 7:06 PM David Blevins <
> > > > > > david.blevins@gmail.com>
> > > > > > wrote:
> > > > > > 
> > > > > > Was checking out the TCK numbers this morning can make to
> > > > > > suggest
> > > > > > a
> > > > > > 9.0.0-M8 while things look good and found this amazing
> > > > > > email.
> > > > > > 
> > > > > > The 9.0.x branch is looking absolutely amazing!!!
> > > > > > 
> > > > > > What do we think about pushing out a 9.0.0-M8 while things
> > > > > > are
> > > > > > in
> > > > > > their
> > > > > > peak-stable state?  I'm sure we'll have to rip up a few
> > > > > > more
> > > > > > things
> > > > > > to
> > > > > > finish off the remaining Jakarta EE and MP TCK
> > > > > > issues.  Would
> > > > > > be
> > > > > > great
> > > > > > to
> > > > > > have something that isn't M7 to fallback on as a reference
> > > > > > point
> > > > > > to
> > > > > > track
> > > > > > regressions.
> > > > > > 
> > > > > > Thoughts?
> > > > > > 
> > > > > > 
> > > > > > -David
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > On May 10, 2022, at 3:56 AM, Jean-Louis Monteiro <
> > > > > > jlmonteiro@tomitribe.com<ma...@tomitribe.com>>
> > > > > > wrote:
> > > > > > 
> > > > > > Hi all,
> > > > > > 
> > > > > > Time for some reporting....
> > > > > > 
> > > > > > On our journey to migrate TomEE over from javax to jakarta
> > > > > > namespace,
> > > > > > we
> > > > > > had many issues.
> > > > > > After updating all our code, we had to do a bunch of
> > > > > > dependency
> > > > > > upgrades
> > > > > > after upgrading many of them (OpenWebbeans, BVal, Geronimo,
> > > > > > etc).
> > > > > > 
> > > > > > We then faced many issues with non compatible libraries for
> > > > > > example
> > > > > > (ActiveMQ, commons-dbcp, CXF, sxc, taglib, etc). So we
> > > > > > ended up
> > > > > > repacking
> > > > > > them in our own groupId after using the Maven Shade plugin
> > > > > > to
> > > > > > relocate
> > > > > > the
> > > > > > packages.
> > > > > > 
> > > > > > We worked on BVal TCK and CDI TCK and we are close to
> > > > > > passing
> > > > > > them.
> > > > > > 
> > > > > > But we had before to solve all our outdated MicroProfile
> > > > > > 1.3
> > > > > > stack
> > > > > > to
> > > > > > the
> > > > > > most recent and jakarta compatible version. Geronimo
> > > > > > implementations
> > > > > > being
> > > > > > far being, we decided to use some SmallRye implementations
> > > > > > until
> > > > > > we
> > > > > > can
> > > > > > dedicate some time to update our Apache implementations
> > > > > > (config,
> > > > > > metrics,
> > > > > > health, openapi, opentracing, fault tolerance).
> > > > > > 
> > > > > > Our build is now more stable, but still not green. Some
> > > > > > issues
> > > > > > are
> > > > > > basically easy to fix and most people could do it (examples
> > > > > > for
> > > > > > instance).
> > > > > > 
> > > > > > https://ci-builds.apache.org/job/Tomee/job/master-build-full/
> > > > > > 
> > > > > > The integration for openapi, opentracing and fault
> > > > > > tolerance is
> > > > > > not
> > > > > > done
> > > > > > and we are far from passing the TCK. On config, metrics and
> > > > > > health
> > > > > > we
> > > > > > are
> > > > > > close. Same for our JWT implementation.
> > > > > > 
> > > > > > I also wanted to have a view on the platform TCK, so I
> > > > > > decided
> > > > > > to
> > > > > > stop
> > > > > > TomEE work in order to spend time on the Platform TCK to do
> > > > > > all
> > > > > > dependency
> > > > > > upgrades and get the TCK to run properly. I'm pleased to
> > > > > > announce
> > > > > > that
> > > > > > after 2 weeks of hard work, we are 99% compatible
> > > > > > 
> > > > > > https://tck.work/tomee/build?id=1652104572445
> > > > > > 
> > > > > > Thanks everyone for the help.
> > > > > > Keep going and if you need some guidance or help, let us
> > > > > > know.
> > > > > > 
> > > > > > For coordination purposes, here is the issue
> > > > > > https://issues.apache.org/jira/browse/TOMEE-3862
> > > > > > Many subtasks are there and you can create new tasks when
> > > > > > needed
> > > > > > and
> > > > > > ask
> > > > > > any committer to assign it to you.
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > --
> > > > > > Jean-Louis Monteiro
> > > > > > http://twitter.com/jlouismonteiro
> > > > > > http://www.tomitribe.com
> > > > > > 
> > > > > > 
> > > > > > On Thu, May 5, 2022 at 11:13 AM Zowalla, Richard <
> > > > > > richard.zowalla@hs-heilbronn.de> wrote:
> > > > > > 
> > > > > > Yes - we already yanked it in 9.x
> > > > > > 
> > > > > > Gruß
> > > > > > Richard
> > > > > > 
> > > > > > Am Donnerstag, dem 05.05.2022 um 10:10 +0100 schrieb
> > > > > > Jonathan
> > > > > > Gallimore:
> > > > > > Sounds good. I'll drop the transformer from the 8.x branch
> > > > > > (looks
> > > > > > like we
> > > > > > don't use it in 9.x), and I'll create a single example to
> > > > > > demonstrate
> > > > > > it in
> > > > > > a sandbox.
> > > > > > 
> > > > > > Jon
> > > > > > 
> > > > > > On Wed, May 4, 2022 at 12:32 PM Zowalla, Richard <
> > > > > > richard.zowalla@hs-heilbronn.de<mailto:
> > > > > > richard.zowalla@hs-heilbronn.de>>
> > > > > > wrote:
> > > > > > 
> > > > > > You are right - we can remove it imho from 8.x as we do not
> > > > > > test
> > > > > > with
> > > > > > it and the transformed samples might not even work, e.g.
> > > > > > dependencies
> > > > > > are not migrated, etc.
> > > > > > 
> > > > > > +1 for providing a (bigger) example.
> > > > > > 
> > > > > > Gruß
> > > > > > Richard
> > > > > > 
> > > > > > Am Mittwoch, dem 04.05.2022 um 11:17 +0100 schrieb Jonathan
> > > > > > Gallimore:
> > > > > > I've picked up a task related to the examples:
> > > > > > https://issues.apache.org/jira/browse/TOMEE-3873. I
> > > > > > specifically
> > > > > > went
> > > > > > for
> > > > > > this, as I added the Eclipse Transformer to the build for a
> > > > > > number of
> > > > > > examples in the past, back when we were doing the
> > > > > > transformation
> > > > > > process on
> > > > > > TomEE itself. The drawbacks here is that any tests in the
> > > > > > examples
> > > > > > run on
> > > > > > the javax code, and we just "assume" that the transformed
> > > > > > artifact
> > > > > > works. I
> > > > > > would suggest removing that for the master build, as it
> > > > > > just
> > > > > > takes
> > > > > > build
> > > > > > time, and the examples should be transformed from javax to
> > > > > > jakarta at
> > > > > > source (if they aren't already). On the TomEE 8 build, we
> > > > > > could
> > > > > > select a
> > > > > > few examples (no need to do them all) and find a way to run
> > > > > > the
> > > > > > tests
> > > > > > on
> > > > > > both javax and jakarta versions of TomEE.
> > > > > > 
> > > > > > Additionally, it would likely be useful to add
> > > > > > documentation to
> > > > > > this.
> > > > > > If we
> > > > > > also wanted a bigger example application that specifically
> > > > > > covers
> > > > > > transformation, I could look at that too.
> > > > > > 
> > > > > > What do you think?
> > > > > > 
> > > > > > Jon
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > On Tue, Mar 22, 2022 at 12:58 PM Jean-Louis Monteiro <
> > > > > > jlmonteiro@tomitribe.com<ma...@tomitribe.com>>
> > > > > > wrote:
> > > > > > 
> > > > > > Hi,
> > > > > > 
> > > > > > I've been working for quite a long time on TomEE 9.x, and
> > > > > > it's
> > > > > > been
> > > > > > more
> > > > > > challenging and painful than I was expecting. I thought it
> > > > > > would be
> > > > > > good to
> > > > > > give you some sort of status.
> > > > > > 
> > > > > > I created a PR for the work. As a reminder, since Java EE
> > > > > > moved
> > > > > > to
> > > > > > Eclipse
> > > > > > to become Jakarta EE, we had a switch from javax.*
> > > > > > namespace to
> > > > > > jakarta.*
> > > > > > namespace. This is an impacting change, since all
> > > > > > applications
> > > > > > and
> > > > > > applications servers are built on top of it.
> > > > > > 
> > > > > > In TomEE, we decided to do that change in TomEE. We had
> > > > > > previously
> > > > > > a
> > > > > > bytecode change approach like an application could do. It
> > > > > > worked
> > > > > > and we
> > > > > > were able to get certified. But it had a lot of
> > > > > > limitations, so
> > > > > > we
> > > > > > had to
> > > > > > do the migration in the code and fix all compatibility
> > > > > > issues.
> > > > > > 
> > > > > > Here is the PR https://github.com/apache/tomee/pull/814
> > > > > > It has 90+ commits and nearly 5000 files touched (added,
> > > > > > removed,
> > > > > > updated).
> > > > > > I understand it's a lot and it makes it almost impossible
> > > > > > to
> > > > > > review. But I
> > > > > > did not see much approaches in this scenario to create
> > > > > > smaller
> > > > > > PRs.
> > > > > > 
> > > > > > I created a Jenkins build though available at
> > > > > > 
> > > > > > https://ci-builds.apache.org/job/Tomee/job/master-build-quick-9.x/
> > > > > > 
> > > > > > It makes it possible to track the progress. There have been
> > > > > > steps
> > > > > > forward
> > > > > > and steps backward.
> > > > > > 
> > > > > > All the code does not sit under TomEE, we use a bunch of
> > > > > > third
> > > > > > party
> > > > > > projects and libraries. I have been able to contribute,
> > > > > > publish
> > > > > > jakarta
> > > > > > compatible versions and get releases for some of them
> > > > > > (Jakarta
> > > > > > EE
> > > > > > APIs Uber
> > > > > > jar, Geronimo Connectors and Transaction Manager, Geronimo
> > > > > > Config,
> > > > > > Health,
> > > > > > Metrics, OpenTracing, OpenAPI. OpenJPA, BVal, and
> > > > > > OpenWebBeans
> > > > > > will
> > > > > > be
> > > > > > released soon.
> > > > > > 
> > > > > > The big parts is CXF, and ActiveMQ. I had to get them done
> > > > > > in
> > > > > > TomEE
> > > > > > and
> > > > > > update all group/artifact ids. It's under deps, alongside
> > > > > > with
> > > > > > SXC,
> > > > > > DBCP,
> > > > > > and others.
> > > > > > 
> > > > > > In terms of removal, I tried to remove old stuff like SAAJ
> > > > > > Axis
> > > > > > 1
> > > > > > integration, JAX RPC, Management J2EE and a couple of other
> > > > > > old
> > > > > > things.
> > > > > > 
> > > > > > A lot of other libraries got updated to their latest
> > > > > > version
> > > > > > when
> > > > > > available
> > > > > > in the new jakarta namespace.
> > > > > > 
> > > > > > I'm starting to get all the build stable and many modules
> > > > > > are
> > > > > > passing now,
> > > > > > including all CXF webservices, OpenEJB Core, and others. I
> > > > > > can
> > > > > > get
> > > > > > a build
> > > > > > and run TomEE.
> > > > > > 
> > > > > > Goal is to get a green build asap so we can start working
> > > > > > on
> > > > > > TCK.
> > > > > > The "quick" build is now green. Working on the full build.
> > > > > > 
> > > > > > I'll soon be creating a branch for TomEE 8.x maintenance
> > > > > > and
> > > > > > merge
> > > > > > the PR.
> > > > > > I'm hoping we can then have small PRs or at least more
> > > > > > people
> > > > > > working in
> > > > > > parallel.
> > > > > > 
> > > > > > --
> > > > > > Jean-Louis Monteiro
> > > > > > http://twitter.com/jlouismonteiro
> > > > > > http://www.tomitribe.com
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > --
> > > > > > Atentamente:
> > > > > > César Hernández.
> > > > > > 
> > > > > > 

Re: Jakarta Mail TCK - Additional Thoughts? (was: TomEE 9.x - from javax to jakarta namespace)

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi,

Did you try handling LITERAL+ capability (1)? I don't think we do as of
today.

(1)
https://datatracker.ietf.org/doc/html/rfc7888#:~:text=LITERAL%2B%20allows%20the%20alternate%20form%20of%20literals%20(called%20%22non%2D,are%204096%20bytes%20or%20less
.
Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://rmannibucau.metawerx.net/> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
<https://www.packtpub.com/application-development/java-ee-8-high-performance>


Le mar. 31 mai 2022 à 09:54, Zowalla, Richard <
richard.zowalla@hs-heilbronn.de> a écrit :

> Hi,
>
> short update on this:
>
> Collaborated with JL and exchanged some ideas via Slack.
>
> We now tested James + Greenmail as mail servers to rule out any hard-
> coded TCK assumption regarding James. Both fail with the same exception
> / issue on the same TCK mail:
> https://github.com/eclipse-ee4j/mail-tck/blob/2.0.0/tests/mailboxes/test1/9
>
> The difference between the RI and our impl is basically the literal
> header:
>
> a5 APPEND test1 () "8-Dec-1996 15:30:12 +0100" {150432}
> a5 BAD APPEND failed. Illegal arguments.
>
> vs (RI):
>
> A6 APPEND test1 () "08-Dec-1996 15:30:12 +0100" {153113+}
> A6 OK [APPENDUID 466034631 1] APPEND completed.
>   Copied 1 messages
>
> I pushed a configured Jakarta Mail TCK 2.0.1 setup with updated
> instructions into this repository: https://github.com/rzo1/mail-tck
>
> In addition, I am CC'ing the geronimo list, in case some people there
> have additional ideas. Otherwise, we will need to take a dive into the
> imap spec / server-side impl to get any clues :)
>
> Gruß
> Richard
>
>
> Am Dienstag, dem 24.05.2022 um 19:46 +0000 schrieb Zowalla, Richard:
> > Hi,
> >
> > I spend some more time on the mail tck and got some additional
> > insights:
> >
> > There is one specific mail from the TCK mailbox (test1, mail no. 9),
> > which breaks the current Geronimo mail impl. This happens, if you try
> > to bootstrap / setup the test mailbox before running the TCK
> > according
> > ti their documentation. The same procedere just works, if the
> > reference
> > impl is used.
> >
> > The failing tests in the mail tck report similar issues regarding
> > failed IMAP commands. Therefore, I assume, that the underlying issue
> > is
> > similar, i.e. if we solve that, we likely fix some of the TCK tests
> > too.
> >
> > I added some instructions to
> > https://issues.apache.org/jira/browse/GERONIMO-6835 to reproduce the
> > issue without actually running the TCK, so we might have the chance
> > to
> > debug it easily.
> >
> > Basically:
> >
> > - Checkout https://github.com/rzo1/geronimo-javamail/tree/tck-issues
> > - Follow the instructions in tck.adoc to start up a mail server
> > (docker-compose + docker exec)
> > - Run "fpopulate" with arguments "-s test1 -d
> > imap://user01%40james.local:1234@localhost:1143 -D" from within your
> > IDE
> > - Observe the debug output on the console
> >
> >
> > There is a difference between the message length between the RI and
> > the
> > Geronimo impl (as reported by the { } literal). This might be the
> > cause
> > (??), but I have no idea what is going on or why it is happening.
> >
> > Maybe someone has an idea what is going on here? Or has a pointer
> > where
> > to look at? I might be "lost in the tck madness" for today :)
> >
> > Gruß
> > Richard
> >
> >
> >
> > Am Dienstag, dem 24.05.2022 um 17:13 +0000 schrieb Zowalla, Richard:
> > > To give a more detailed view / update from the spec tck party
> > > regarding
> > > activation and mail:
> > >
> > > (A) Geronimo Activation 2.0
> > >
> > > After a first milestone (M1) and some additional fixes after
> > > running
> > > the activation TCK [1] and related signatures tests, we are now
> > > passing
> > > them.
> > >
> > > JL prepared a release artifact (1.0.0), which is currently under
> > > vote.
> > >
> > > During the tck work, we found some inconsistency / unspecified
> > > behaviour of "normalizeMimeTypeParameter" of ActivationDataFlavor.
> > > While this method is tested in the TCK on the basis of the
> > > reference
> > > implementation neither the spec itself nor the javadoc are really
> > > clear
> > > about the "right" return value. At the moment, we adjusted it to
> > > pass
> > > the TCK test in question.
> > >
> > > There is an ongoing discussion at dev@geronimo if this is a desired
> > > behaviour or if a system property should be introduced in order to
> > > reduce the possibility of breaking some users.
> > >
> > > (B) Geronimo Mail 2.0 / 2.1
> > >
> > > The current mail impl has some TCK failures. It seems, that we need
> > > to
> > > do some additional work to get it compliant with the standalone
> > > mail
> > > tck [3].
> > >
> > > The signature tests are failing for Java 11 but are fine with Java
> > > 8
> > > [4] due to some usage of Object#finalize() and missing annotations
> > > (only available in Java 9+) in the Geronimo implementation. While
> > > it
> > > is
> > > not that important for EE9, we need to keep it in mind for EE10.
> > >
> > > We currently pass 166 out of 321 mail tck tests [5]. I guess, we
> > > need
> > > to give it some more love to get the numbers up and finally get it
> > > to
> > > pass the mail tck. The good thing is, that we already pass the
> > > javamail
> > > tests for TomEE [6].
> > >
> > > Gruß
> > > Richard
> > >
> > >
> > >
> > > [1] https://jakarta.ee/specifications/activation/2.0/
> > > [2]
> > > https://lists.apache.org/thread/h8twm4rmdxt67fx227nyywjp96b6cky1
> > > [3] https://jakarta.ee/specifications/mail/2.0/
> > > [4] https://issues.apache.org/jira/browse/GERONIMO-6834
> > > [5] https://issues.apache.org/jira/browse/GERONIMO-6835
> > > [6]
> > >
> https://tck.work/tomee/tests?build=1651841331620&path=com.sun.ts.tests.javamail
> > >
> > > Am Dienstag, dem 24.05.2022 um 15:44 +0200 schrieb Jean-Louis
> > > Monteiro:
> > > > Alright, time for a new update.
> > > >
> > > > TomEE 8.x with JDK8 and EE8 is equivalent to TomEE 9.x with
> > > > JDK11/JDK17 and
> > > > EE9.
> > > > The build is still not full green, but it's time to start
> > > > grabbing
> > > > user
> > > > feedback as we discussed.
> > > >
> > > > So the work started to take every single piece we fixed or
> > > > patched
> > > > to
> > > > start
> > > > doing releases and if possible run TCK + signature Tests.
> > > >
> > > > David did activation and mail milestones. Richard used the
> > > > milestone
> > > > to fix
> > > > and we are now under vote for activation 2.0 final and Richard is
> > > > making
> > > > some awesomeness on the mail spec and impl. We should be able to
> > > > get
> > > > final
> > > > versions soon.
> > > >
> > > > We also have an OWB vote starting today for a jakarta compatible
> > > > version
> > > > (including TCK).
> > > > Next step is to release a milestone for jakartaee-api 9.1-M2 and
> > > > move
> > > > on.
> > > >
> > > >
> > > >
> > > > --
> > > > Jean-Louis Monteiro
> > > > http://twitter.com/jlouismonteiro
> > > > http://www.tomitribe.com
> > > >
> > > >
> > > > On Thu, May 12, 2022 at 9:29 AM Wiesner, Martin <
> > > > martin.wiesner@hs-heilbronn.de> wrote:
> > > >
> > > > > +1
> > > > >
> > > > > Best
> > > > > Martin
> > > > > —
> > > > > https://twitter.com/mawiesne
> > > > >
> > > > >
> > > > > Am 11.05.2022 um 19:00 schrieb Cesar Hernandez <
> > > > > cesarguate@gmail.com
> > > > > <ma...@gmail.com>>:
> > > > >
> > > > > +1, Thank you!
> > > > >
> > > > >
> > > > > El mié, 11 may 2022 a las 9:06, Daniel Dias Dos Santos (<
> > > > > daniel.dias.analistati@gmail.com<mailto:
> > > > > daniel.dias.analistati@gmail.com>>)
> > > > > escribió:
> > > > >
> > > > > +1
> > > > >
> > > > > On Wed, May 11, 2022, 12:00 Zowalla, Richard <
> > > > > richard.zowalla@hs-heilbronn.de<mailto:
> > > > > richard.zowalla@hs-heilbronn.de>>
> > > > > wrote:
> > > > >
> > > > > I am fine with it: +1
> > > > > ________________________________
> > > > > Von: Jean-Louis Monteiro <jlmonteiro@tomitribe.com<mailto:
> > > > > jlmonteiro@tomitribe.com>>
> > > > > Gesendet: Mittwoch, 11. Mai 2022 15:57:54
> > > > > An: dev@tomee.apache.org<ma...@tomee.apache.org>
> > > > > Betreff: Re: TomEE 9.x - from javax to jakarta namespace
> > > > >
> > > > > Alright, with the latest changes pushed yesterday and today, we
> > > > > are
> > > > > now
> > > > > at
> > > > > the exact same numbers for TomEE 8.x / Jakarta EE 8 under JDK8
> > > > > and
> > > > > TomEE
> > > > > 9.x / Jakarta 9.1 under JDK17.
> > > > >
> > > > > If everyone is ok with it, we can create a new milestone and
> > > > > give
> > > > > users
> > > > > the
> > > > > opportunity to provide us with some feedback and to report
> > > > > bugs.
> > > > >
> > > > > --
> > > > > Jean-Louis Monteiro
> > > > > http://twitter.com/jlouismonteiro
> > > > > http://www.tomitribe.com
> > > > >
> > > > >
> > > > > On Tue, May 10, 2022 at 7:06 PM David Blevins <
> > > > > david.blevins@gmail.com>
> > > > > wrote:
> > > > >
> > > > > Was checking out the TCK numbers this morning can make to
> > > > > suggest
> > > > > a
> > > > > 9.0.0-M8 while things look good and found this amazing email.
> > > > >
> > > > > The 9.0.x branch is looking absolutely amazing!!!
> > > > >
> > > > > What do we think about pushing out a 9.0.0-M8 while things are
> > > > > in
> > > > > their
> > > > > peak-stable state?  I'm sure we'll have to rip up a few more
> > > > > things
> > > > > to
> > > > > finish off the remaining Jakarta EE and MP TCK issues.  Would
> > > > > be
> > > > > great
> > > > > to
> > > > > have something that isn't M7 to fallback on as a reference
> > > > > point
> > > > > to
> > > > > track
> > > > > regressions.
> > > > >
> > > > > Thoughts?
> > > > >
> > > > >
> > > > > -David
> > > > >
> > > > >
> > > > >
> > > > > On May 10, 2022, at 3:56 AM, Jean-Louis Monteiro <
> > > > > jlmonteiro@tomitribe.com<ma...@tomitribe.com>>
> > > > > wrote:
> > > > >
> > > > > Hi all,
> > > > >
> > > > > Time for some reporting....
> > > > >
> > > > > On our journey to migrate TomEE over from javax to jakarta
> > > > > namespace,
> > > > > we
> > > > > had many issues.
> > > > > After updating all our code, we had to do a bunch of dependency
> > > > > upgrades
> > > > > after upgrading many of them (OpenWebbeans, BVal, Geronimo,
> > > > > etc).
> > > > >
> > > > > We then faced many issues with non compatible libraries for
> > > > > example
> > > > > (ActiveMQ, commons-dbcp, CXF, sxc, taglib, etc). So we ended up
> > > > > repacking
> > > > > them in our own groupId after using the Maven Shade plugin to
> > > > > relocate
> > > > > the
> > > > > packages.
> > > > >
> > > > > We worked on BVal TCK and CDI TCK and we are close to passing
> > > > > them.
> > > > >
> > > > > But we had before to solve all our outdated MicroProfile 1.3
> > > > > stack
> > > > > to
> > > > > the
> > > > > most recent and jakarta compatible version. Geronimo
> > > > > implementations
> > > > > being
> > > > > far being, we decided to use some SmallRye implementations
> > > > > until
> > > > > we
> > > > > can
> > > > > dedicate some time to update our Apache implementations
> > > > > (config,
> > > > > metrics,
> > > > > health, openapi, opentracing, fault tolerance).
> > > > >
> > > > > Our build is now more stable, but still not green. Some issues
> > > > > are
> > > > > basically easy to fix and most people could do it (examples for
> > > > > instance).
> > > > >
> > > > > https://ci-builds.apache.org/job/Tomee/job/master-build-full/
> > > > >
> > > > > The integration for openapi, opentracing and fault tolerance is
> > > > > not
> > > > > done
> > > > > and we are far from passing the TCK. On config, metrics and
> > > > > health
> > > > > we
> > > > > are
> > > > > close. Same for our JWT implementation.
> > > > >
> > > > > I also wanted to have a view on the platform TCK, so I decided
> > > > > to
> > > > > stop
> > > > > TomEE work in order to spend time on the Platform TCK to do all
> > > > > dependency
> > > > > upgrades and get the TCK to run properly. I'm pleased to
> > > > > announce
> > > > > that
> > > > > after 2 weeks of hard work, we are 99% compatible
> > > > >
> > > > > https://tck.work/tomee/build?id=1652104572445
> > > > >
> > > > > Thanks everyone for the help.
> > > > > Keep going and if you need some guidance or help, let us know.
> > > > >
> > > > > For coordination purposes, here is the issue
> > > > > https://issues.apache.org/jira/browse/TOMEE-3862
> > > > > Many subtasks are there and you can create new tasks when
> > > > > needed
> > > > > and
> > > > > ask
> > > > > any committer to assign it to you.
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Jean-Louis Monteiro
> > > > > http://twitter.com/jlouismonteiro
> > > > > http://www.tomitribe.com
> > > > >
> > > > >
> > > > > On Thu, May 5, 2022 at 11:13 AM Zowalla, Richard <
> > > > > richard.zowalla@hs-heilbronn.de> wrote:
> > > > >
> > > > > Yes - we already yanked it in 9.x
> > > > >
> > > > > Gruß
> > > > > Richard
> > > > >
> > > > > Am Donnerstag, dem 05.05.2022 um 10:10 +0100 schrieb Jonathan
> > > > > Gallimore:
> > > > > Sounds good. I'll drop the transformer from the 8.x branch
> > > > > (looks
> > > > > like we
> > > > > don't use it in 9.x), and I'll create a single example to
> > > > > demonstrate
> > > > > it in
> > > > > a sandbox.
> > > > >
> > > > > Jon
> > > > >
> > > > > On Wed, May 4, 2022 at 12:32 PM Zowalla, Richard <
> > > > > richard.zowalla@hs-heilbronn.de<mailto:
> > > > > richard.zowalla@hs-heilbronn.de>>
> > > > > wrote:
> > > > >
> > > > > You are right - we can remove it imho from 8.x as we do not
> > > > > test
> > > > > with
> > > > > it and the transformed samples might not even work, e.g.
> > > > > dependencies
> > > > > are not migrated, etc.
> > > > >
> > > > > +1 for providing a (bigger) example.
> > > > >
> > > > > Gruß
> > > > > Richard
> > > > >
> > > > > Am Mittwoch, dem 04.05.2022 um 11:17 +0100 schrieb Jonathan
> > > > > Gallimore:
> > > > > I've picked up a task related to the examples:
> > > > > https://issues.apache.org/jira/browse/TOMEE-3873. I
> > > > > specifically
> > > > > went
> > > > > for
> > > > > this, as I added the Eclipse Transformer to the build for a
> > > > > number of
> > > > > examples in the past, back when we were doing the
> > > > > transformation
> > > > > process on
> > > > > TomEE itself. The drawbacks here is that any tests in the
> > > > > examples
> > > > > run on
> > > > > the javax code, and we just "assume" that the transformed
> > > > > artifact
> > > > > works. I
> > > > > would suggest removing that for the master build, as it just
> > > > > takes
> > > > > build
> > > > > time, and the examples should be transformed from javax to
> > > > > jakarta at
> > > > > source (if they aren't already). On the TomEE 8 build, we could
> > > > > select a
> > > > > few examples (no need to do them all) and find a way to run the
> > > > > tests
> > > > > on
> > > > > both javax and jakarta versions of TomEE.
> > > > >
> > > > > Additionally, it would likely be useful to add documentation to
> > > > > this.
> > > > > If we
> > > > > also wanted a bigger example application that specifically
> > > > > covers
> > > > > transformation, I could look at that too.
> > > > >
> > > > > What do you think?
> > > > >
> > > > > Jon
> > > > >
> > > > >
> > > > >
> > > > > On Tue, Mar 22, 2022 at 12:58 PM Jean-Louis Monteiro <
> > > > > jlmonteiro@tomitribe.com<ma...@tomitribe.com>>
> > > > > wrote:
> > > > >
> > > > > Hi,
> > > > >
> > > > > I've been working for quite a long time on TomEE 9.x, and it's
> > > > > been
> > > > > more
> > > > > challenging and painful than I was expecting. I thought it
> > > > > would be
> > > > > good to
> > > > > give you some sort of status.
> > > > >
> > > > > I created a PR for the work. As a reminder, since Java EE moved
> > > > > to
> > > > > Eclipse
> > > > > to become Jakarta EE, we had a switch from javax.* namespace to
> > > > > jakarta.*
> > > > > namespace. This is an impacting change, since all applications
> > > > > and
> > > > > applications servers are built on top of it.
> > > > >
> > > > > In TomEE, we decided to do that change in TomEE. We had
> > > > > previously
> > > > > a
> > > > > bytecode change approach like an application could do. It
> > > > > worked
> > > > > and we
> > > > > were able to get certified. But it had a lot of limitations, so
> > > > > we
> > > > > had to
> > > > > do the migration in the code and fix all compatibility issues.
> > > > >
> > > > > Here is the PR https://github.com/apache/tomee/pull/814
> > > > > It has 90+ commits and nearly 5000 files touched (added,
> > > > > removed,
> > > > > updated).
> > > > > I understand it's a lot and it makes it almost impossible to
> > > > > review. But I
> > > > > did not see much approaches in this scenario to create smaller
> > > > > PRs.
> > > > >
> > > > > I created a Jenkins build though available at
> > > > >
> > > > > https://ci-builds.apache.org/job/Tomee/job/master-build-quick-9.x/
> > > > >
> > > > > It makes it possible to track the progress. There have been
> > > > > steps
> > > > > forward
> > > > > and steps backward.
> > > > >
> > > > > All the code does not sit under TomEE, we use a bunch of third
> > > > > party
> > > > > projects and libraries. I have been able to contribute, publish
> > > > > jakarta
> > > > > compatible versions and get releases for some of them (Jakarta
> > > > > EE
> > > > > APIs Uber
> > > > > jar, Geronimo Connectors and Transaction Manager, Geronimo
> > > > > Config,
> > > > > Health,
> > > > > Metrics, OpenTracing, OpenAPI. OpenJPA, BVal, and OpenWebBeans
> > > > > will
> > > > > be
> > > > > released soon.
> > > > >
> > > > > The big parts is CXF, and ActiveMQ. I had to get them done in
> > > > > TomEE
> > > > > and
> > > > > update all group/artifact ids. It's under deps, alongside with
> > > > > SXC,
> > > > > DBCP,
> > > > > and others.
> > > > >
> > > > > In terms of removal, I tried to remove old stuff like SAAJ Axis
> > > > > 1
> > > > > integration, JAX RPC, Management J2EE and a couple of other old
> > > > > things.
> > > > >
> > > > > A lot of other libraries got updated to their latest version
> > > > > when
> > > > > available
> > > > > in the new jakarta namespace.
> > > > >
> > > > > I'm starting to get all the build stable and many modules are
> > > > > passing now,
> > > > > including all CXF webservices, OpenEJB Core, and others. I can
> > > > > get
> > > > > a build
> > > > > and run TomEE.
> > > > >
> > > > > Goal is to get a green build asap so we can start working on
> > > > > TCK.
> > > > > The "quick" build is now green. Working on the full build.
> > > > >
> > > > > I'll soon be creating a branch for TomEE 8.x maintenance and
> > > > > merge
> > > > > the PR.
> > > > > I'm hoping we can then have small PRs or at least more people
> > > > > working in
> > > > > parallel.
> > > > >
> > > > > --
> > > > > Jean-Louis Monteiro
> > > > > http://twitter.com/jlouismonteiro
> > > > > http://www.tomitribe.com
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Atentamente:
> > > > > César Hernández.
> > > > >
> > > > >
>

Re: Jakarta Mail TCK - Additional Thoughts? (was: TomEE 9.x - from javax to jakarta namespace)

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi,

Did you try handling LITERAL+ capability (1)? I don't think we do as of
today.

(1)
https://datatracker.ietf.org/doc/html/rfc7888#:~:text=LITERAL%2B%20allows%20the%20alternate%20form%20of%20literals%20(called%20%22non%2D,are%204096%20bytes%20or%20less
.
Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://rmannibucau.metawerx.net/> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
<https://www.packtpub.com/application-development/java-ee-8-high-performance>


Le mar. 31 mai 2022 à 09:54, Zowalla, Richard <
richard.zowalla@hs-heilbronn.de> a écrit :

> Hi,
>
> short update on this:
>
> Collaborated with JL and exchanged some ideas via Slack.
>
> We now tested James + Greenmail as mail servers to rule out any hard-
> coded TCK assumption regarding James. Both fail with the same exception
> / issue on the same TCK mail:
> https://github.com/eclipse-ee4j/mail-tck/blob/2.0.0/tests/mailboxes/test1/9
>
> The difference between the RI and our impl is basically the literal
> header:
>
> a5 APPEND test1 () "8-Dec-1996 15:30:12 +0100" {150432}
> a5 BAD APPEND failed. Illegal arguments.
>
> vs (RI):
>
> A6 APPEND test1 () "08-Dec-1996 15:30:12 +0100" {153113+}
> A6 OK [APPENDUID 466034631 1] APPEND completed.
>   Copied 1 messages
>
> I pushed a configured Jakarta Mail TCK 2.0.1 setup with updated
> instructions into this repository: https://github.com/rzo1/mail-tck
>
> In addition, I am CC'ing the geronimo list, in case some people there
> have additional ideas. Otherwise, we will need to take a dive into the
> imap spec / server-side impl to get any clues :)
>
> Gruß
> Richard
>
>
> Am Dienstag, dem 24.05.2022 um 19:46 +0000 schrieb Zowalla, Richard:
> > Hi,
> >
> > I spend some more time on the mail tck and got some additional
> > insights:
> >
> > There is one specific mail from the TCK mailbox (test1, mail no. 9),
> > which breaks the current Geronimo mail impl. This happens, if you try
> > to bootstrap / setup the test mailbox before running the TCK
> > according
> > ti their documentation. The same procedere just works, if the
> > reference
> > impl is used.
> >
> > The failing tests in the mail tck report similar issues regarding
> > failed IMAP commands. Therefore, I assume, that the underlying issue
> > is
> > similar, i.e. if we solve that, we likely fix some of the TCK tests
> > too.
> >
> > I added some instructions to
> > https://issues.apache.org/jira/browse/GERONIMO-6835 to reproduce the
> > issue without actually running the TCK, so we might have the chance
> > to
> > debug it easily.
> >
> > Basically:
> >
> > - Checkout https://github.com/rzo1/geronimo-javamail/tree/tck-issues
> > - Follow the instructions in tck.adoc to start up a mail server
> > (docker-compose + docker exec)
> > - Run "fpopulate" with arguments "-s test1 -d
> > imap://user01%40james.local:1234@localhost:1143 -D" from within your
> > IDE
> > - Observe the debug output on the console
> >
> >
> > There is a difference between the message length between the RI and
> > the
> > Geronimo impl (as reported by the { } literal). This might be the
> > cause
> > (??), but I have no idea what is going on or why it is happening.
> >
> > Maybe someone has an idea what is going on here? Or has a pointer
> > where
> > to look at? I might be "lost in the tck madness" for today :)
> >
> > Gruß
> > Richard
> >
> >
> >
> > Am Dienstag, dem 24.05.2022 um 17:13 +0000 schrieb Zowalla, Richard:
> > > To give a more detailed view / update from the spec tck party
> > > regarding
> > > activation and mail:
> > >
> > > (A) Geronimo Activation 2.0
> > >
> > > After a first milestone (M1) and some additional fixes after
> > > running
> > > the activation TCK [1] and related signatures tests, we are now
> > > passing
> > > them.
> > >
> > > JL prepared a release artifact (1.0.0), which is currently under
> > > vote.
> > >
> > > During the tck work, we found some inconsistency / unspecified
> > > behaviour of "normalizeMimeTypeParameter" of ActivationDataFlavor.
> > > While this method is tested in the TCK on the basis of the
> > > reference
> > > implementation neither the spec itself nor the javadoc are really
> > > clear
> > > about the "right" return value. At the moment, we adjusted it to
> > > pass
> > > the TCK test in question.
> > >
> > > There is an ongoing discussion at dev@geronimo if this is a desired
> > > behaviour or if a system property should be introduced in order to
> > > reduce the possibility of breaking some users.
> > >
> > > (B) Geronimo Mail 2.0 / 2.1
> > >
> > > The current mail impl has some TCK failures. It seems, that we need
> > > to
> > > do some additional work to get it compliant with the standalone
> > > mail
> > > tck [3].
> > >
> > > The signature tests are failing for Java 11 but are fine with Java
> > > 8
> > > [4] due to some usage of Object#finalize() and missing annotations
> > > (only available in Java 9+) in the Geronimo implementation. While
> > > it
> > > is
> > > not that important for EE9, we need to keep it in mind for EE10.
> > >
> > > We currently pass 166 out of 321 mail tck tests [5]. I guess, we
> > > need
> > > to give it some more love to get the numbers up and finally get it
> > > to
> > > pass the mail tck. The good thing is, that we already pass the
> > > javamail
> > > tests for TomEE [6].
> > >
> > > Gruß
> > > Richard
> > >
> > >
> > >
> > > [1] https://jakarta.ee/specifications/activation/2.0/
> > > [2]
> > > https://lists.apache.org/thread/h8twm4rmdxt67fx227nyywjp96b6cky1
> > > [3] https://jakarta.ee/specifications/mail/2.0/
> > > [4] https://issues.apache.org/jira/browse/GERONIMO-6834
> > > [5] https://issues.apache.org/jira/browse/GERONIMO-6835
> > > [6]
> > >
> https://tck.work/tomee/tests?build=1651841331620&path=com.sun.ts.tests.javamail
> > >
> > > Am Dienstag, dem 24.05.2022 um 15:44 +0200 schrieb Jean-Louis
> > > Monteiro:
> > > > Alright, time for a new update.
> > > >
> > > > TomEE 8.x with JDK8 and EE8 is equivalent to TomEE 9.x with
> > > > JDK11/JDK17 and
> > > > EE9.
> > > > The build is still not full green, but it's time to start
> > > > grabbing
> > > > user
> > > > feedback as we discussed.
> > > >
> > > > So the work started to take every single piece we fixed or
> > > > patched
> > > > to
> > > > start
> > > > doing releases and if possible run TCK + signature Tests.
> > > >
> > > > David did activation and mail milestones. Richard used the
> > > > milestone
> > > > to fix
> > > > and we are now under vote for activation 2.0 final and Richard is
> > > > making
> > > > some awesomeness on the mail spec and impl. We should be able to
> > > > get
> > > > final
> > > > versions soon.
> > > >
> > > > We also have an OWB vote starting today for a jakarta compatible
> > > > version
> > > > (including TCK).
> > > > Next step is to release a milestone for jakartaee-api 9.1-M2 and
> > > > move
> > > > on.
> > > >
> > > >
> > > >
> > > > --
> > > > Jean-Louis Monteiro
> > > > http://twitter.com/jlouismonteiro
> > > > http://www.tomitribe.com
> > > >
> > > >
> > > > On Thu, May 12, 2022 at 9:29 AM Wiesner, Martin <
> > > > martin.wiesner@hs-heilbronn.de> wrote:
> > > >
> > > > > +1
> > > > >
> > > > > Best
> > > > > Martin
> > > > > —
> > > > > https://twitter.com/mawiesne
> > > > >
> > > > >
> > > > > Am 11.05.2022 um 19:00 schrieb Cesar Hernandez <
> > > > > cesarguate@gmail.com
> > > > > <ma...@gmail.com>>:
> > > > >
> > > > > +1, Thank you!
> > > > >
> > > > >
> > > > > El mié, 11 may 2022 a las 9:06, Daniel Dias Dos Santos (<
> > > > > daniel.dias.analistati@gmail.com<mailto:
> > > > > daniel.dias.analistati@gmail.com>>)
> > > > > escribió:
> > > > >
> > > > > +1
> > > > >
> > > > > On Wed, May 11, 2022, 12:00 Zowalla, Richard <
> > > > > richard.zowalla@hs-heilbronn.de<mailto:
> > > > > richard.zowalla@hs-heilbronn.de>>
> > > > > wrote:
> > > > >
> > > > > I am fine with it: +1
> > > > > ________________________________
> > > > > Von: Jean-Louis Monteiro <jlmonteiro@tomitribe.com<mailto:
> > > > > jlmonteiro@tomitribe.com>>
> > > > > Gesendet: Mittwoch, 11. Mai 2022 15:57:54
> > > > > An: dev@tomee.apache.org<ma...@tomee.apache.org>
> > > > > Betreff: Re: TomEE 9.x - from javax to jakarta namespace
> > > > >
> > > > > Alright, with the latest changes pushed yesterday and today, we
> > > > > are
> > > > > now
> > > > > at
> > > > > the exact same numbers for TomEE 8.x / Jakarta EE 8 under JDK8
> > > > > and
> > > > > TomEE
> > > > > 9.x / Jakarta 9.1 under JDK17.
> > > > >
> > > > > If everyone is ok with it, we can create a new milestone and
> > > > > give
> > > > > users
> > > > > the
> > > > > opportunity to provide us with some feedback and to report
> > > > > bugs.
> > > > >
> > > > > --
> > > > > Jean-Louis Monteiro
> > > > > http://twitter.com/jlouismonteiro
> > > > > http://www.tomitribe.com
> > > > >
> > > > >
> > > > > On Tue, May 10, 2022 at 7:06 PM David Blevins <
> > > > > david.blevins@gmail.com>
> > > > > wrote:
> > > > >
> > > > > Was checking out the TCK numbers this morning can make to
> > > > > suggest
> > > > > a
> > > > > 9.0.0-M8 while things look good and found this amazing email.
> > > > >
> > > > > The 9.0.x branch is looking absolutely amazing!!!
> > > > >
> > > > > What do we think about pushing out a 9.0.0-M8 while things are
> > > > > in
> > > > > their
> > > > > peak-stable state?  I'm sure we'll have to rip up a few more
> > > > > things
> > > > > to
> > > > > finish off the remaining Jakarta EE and MP TCK issues.  Would
> > > > > be
> > > > > great
> > > > > to
> > > > > have something that isn't M7 to fallback on as a reference
> > > > > point
> > > > > to
> > > > > track
> > > > > regressions.
> > > > >
> > > > > Thoughts?
> > > > >
> > > > >
> > > > > -David
> > > > >
> > > > >
> > > > >
> > > > > On May 10, 2022, at 3:56 AM, Jean-Louis Monteiro <
> > > > > jlmonteiro@tomitribe.com<ma...@tomitribe.com>>
> > > > > wrote:
> > > > >
> > > > > Hi all,
> > > > >
> > > > > Time for some reporting....
> > > > >
> > > > > On our journey to migrate TomEE over from javax to jakarta
> > > > > namespace,
> > > > > we
> > > > > had many issues.
> > > > > After updating all our code, we had to do a bunch of dependency
> > > > > upgrades
> > > > > after upgrading many of them (OpenWebbeans, BVal, Geronimo,
> > > > > etc).
> > > > >
> > > > > We then faced many issues with non compatible libraries for
> > > > > example
> > > > > (ActiveMQ, commons-dbcp, CXF, sxc, taglib, etc). So we ended up
> > > > > repacking
> > > > > them in our own groupId after using the Maven Shade plugin to
> > > > > relocate
> > > > > the
> > > > > packages.
> > > > >
> > > > > We worked on BVal TCK and CDI TCK and we are close to passing
> > > > > them.
> > > > >
> > > > > But we had before to solve all our outdated MicroProfile 1.3
> > > > > stack
> > > > > to
> > > > > the
> > > > > most recent and jakarta compatible version. Geronimo
> > > > > implementations
> > > > > being
> > > > > far being, we decided to use some SmallRye implementations
> > > > > until
> > > > > we
> > > > > can
> > > > > dedicate some time to update our Apache implementations
> > > > > (config,
> > > > > metrics,
> > > > > health, openapi, opentracing, fault tolerance).
> > > > >
> > > > > Our build is now more stable, but still not green. Some issues
> > > > > are
> > > > > basically easy to fix and most people could do it (examples for
> > > > > instance).
> > > > >
> > > > > https://ci-builds.apache.org/job/Tomee/job/master-build-full/
> > > > >
> > > > > The integration for openapi, opentracing and fault tolerance is
> > > > > not
> > > > > done
> > > > > and we are far from passing the TCK. On config, metrics and
> > > > > health
> > > > > we
> > > > > are
> > > > > close. Same for our JWT implementation.
> > > > >
> > > > > I also wanted to have a view on the platform TCK, so I decided
> > > > > to
> > > > > stop
> > > > > TomEE work in order to spend time on the Platform TCK to do all
> > > > > dependency
> > > > > upgrades and get the TCK to run properly. I'm pleased to
> > > > > announce
> > > > > that
> > > > > after 2 weeks of hard work, we are 99% compatible
> > > > >
> > > > > https://tck.work/tomee/build?id=1652104572445
> > > > >
> > > > > Thanks everyone for the help.
> > > > > Keep going and if you need some guidance or help, let us know.
> > > > >
> > > > > For coordination purposes, here is the issue
> > > > > https://issues.apache.org/jira/browse/TOMEE-3862
> > > > > Many subtasks are there and you can create new tasks when
> > > > > needed
> > > > > and
> > > > > ask
> > > > > any committer to assign it to you.
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Jean-Louis Monteiro
> > > > > http://twitter.com/jlouismonteiro
> > > > > http://www.tomitribe.com
> > > > >
> > > > >
> > > > > On Thu, May 5, 2022 at 11:13 AM Zowalla, Richard <
> > > > > richard.zowalla@hs-heilbronn.de> wrote:
> > > > >
> > > > > Yes - we already yanked it in 9.x
> > > > >
> > > > > Gruß
> > > > > Richard
> > > > >
> > > > > Am Donnerstag, dem 05.05.2022 um 10:10 +0100 schrieb Jonathan
> > > > > Gallimore:
> > > > > Sounds good. I'll drop the transformer from the 8.x branch
> > > > > (looks
> > > > > like we
> > > > > don't use it in 9.x), and I'll create a single example to
> > > > > demonstrate
> > > > > it in
> > > > > a sandbox.
> > > > >
> > > > > Jon
> > > > >
> > > > > On Wed, May 4, 2022 at 12:32 PM Zowalla, Richard <
> > > > > richard.zowalla@hs-heilbronn.de<mailto:
> > > > > richard.zowalla@hs-heilbronn.de>>
> > > > > wrote:
> > > > >
> > > > > You are right - we can remove it imho from 8.x as we do not
> > > > > test
> > > > > with
> > > > > it and the transformed samples might not even work, e.g.
> > > > > dependencies
> > > > > are not migrated, etc.
> > > > >
> > > > > +1 for providing a (bigger) example.
> > > > >
> > > > > Gruß
> > > > > Richard
> > > > >
> > > > > Am Mittwoch, dem 04.05.2022 um 11:17 +0100 schrieb Jonathan
> > > > > Gallimore:
> > > > > I've picked up a task related to the examples:
> > > > > https://issues.apache.org/jira/browse/TOMEE-3873. I
> > > > > specifically
> > > > > went
> > > > > for
> > > > > this, as I added the Eclipse Transformer to the build for a
> > > > > number of
> > > > > examples in the past, back when we were doing the
> > > > > transformation
> > > > > process on
> > > > > TomEE itself. The drawbacks here is that any tests in the
> > > > > examples
> > > > > run on
> > > > > the javax code, and we just "assume" that the transformed
> > > > > artifact
> > > > > works. I
> > > > > would suggest removing that for the master build, as it just
> > > > > takes
> > > > > build
> > > > > time, and the examples should be transformed from javax to
> > > > > jakarta at
> > > > > source (if they aren't already). On the TomEE 8 build, we could
> > > > > select a
> > > > > few examples (no need to do them all) and find a way to run the
> > > > > tests
> > > > > on
> > > > > both javax and jakarta versions of TomEE.
> > > > >
> > > > > Additionally, it would likely be useful to add documentation to
> > > > > this.
> > > > > If we
> > > > > also wanted a bigger example application that specifically
> > > > > covers
> > > > > transformation, I could look at that too.
> > > > >
> > > > > What do you think?
> > > > >
> > > > > Jon
> > > > >
> > > > >
> > > > >
> > > > > On Tue, Mar 22, 2022 at 12:58 PM Jean-Louis Monteiro <
> > > > > jlmonteiro@tomitribe.com<ma...@tomitribe.com>>
> > > > > wrote:
> > > > >
> > > > > Hi,
> > > > >
> > > > > I've been working for quite a long time on TomEE 9.x, and it's
> > > > > been
> > > > > more
> > > > > challenging and painful than I was expecting. I thought it
> > > > > would be
> > > > > good to
> > > > > give you some sort of status.
> > > > >
> > > > > I created a PR for the work. As a reminder, since Java EE moved
> > > > > to
> > > > > Eclipse
> > > > > to become Jakarta EE, we had a switch from javax.* namespace to
> > > > > jakarta.*
> > > > > namespace. This is an impacting change, since all applications
> > > > > and
> > > > > applications servers are built on top of it.
> > > > >
> > > > > In TomEE, we decided to do that change in TomEE. We had
> > > > > previously
> > > > > a
> > > > > bytecode change approach like an application could do. It
> > > > > worked
> > > > > and we
> > > > > were able to get certified. But it had a lot of limitations, so
> > > > > we
> > > > > had to
> > > > > do the migration in the code and fix all compatibility issues.
> > > > >
> > > > > Here is the PR https://github.com/apache/tomee/pull/814
> > > > > It has 90+ commits and nearly 5000 files touched (added,
> > > > > removed,
> > > > > updated).
> > > > > I understand it's a lot and it makes it almost impossible to
> > > > > review. But I
> > > > > did not see much approaches in this scenario to create smaller
> > > > > PRs.
> > > > >
> > > > > I created a Jenkins build though available at
> > > > >
> > > > > https://ci-builds.apache.org/job/Tomee/job/master-build-quick-9.x/
> > > > >
> > > > > It makes it possible to track the progress. There have been
> > > > > steps
> > > > > forward
> > > > > and steps backward.
> > > > >
> > > > > All the code does not sit under TomEE, we use a bunch of third
> > > > > party
> > > > > projects and libraries. I have been able to contribute, publish
> > > > > jakarta
> > > > > compatible versions and get releases for some of them (Jakarta
> > > > > EE
> > > > > APIs Uber
> > > > > jar, Geronimo Connectors and Transaction Manager, Geronimo
> > > > > Config,
> > > > > Health,
> > > > > Metrics, OpenTracing, OpenAPI. OpenJPA, BVal, and OpenWebBeans
> > > > > will
> > > > > be
> > > > > released soon.
> > > > >
> > > > > The big parts is CXF, and ActiveMQ. I had to get them done in
> > > > > TomEE
> > > > > and
> > > > > update all group/artifact ids. It's under deps, alongside with
> > > > > SXC,
> > > > > DBCP,
> > > > > and others.
> > > > >
> > > > > In terms of removal, I tried to remove old stuff like SAAJ Axis
> > > > > 1
> > > > > integration, JAX RPC, Management J2EE and a couple of other old
> > > > > things.
> > > > >
> > > > > A lot of other libraries got updated to their latest version
> > > > > when
> > > > > available
> > > > > in the new jakarta namespace.
> > > > >
> > > > > I'm starting to get all the build stable and many modules are
> > > > > passing now,
> > > > > including all CXF webservices, OpenEJB Core, and others. I can
> > > > > get
> > > > > a build
> > > > > and run TomEE.
> > > > >
> > > > > Goal is to get a green build asap so we can start working on
> > > > > TCK.
> > > > > The "quick" build is now green. Working on the full build.
> > > > >
> > > > > I'll soon be creating a branch for TomEE 8.x maintenance and
> > > > > merge
> > > > > the PR.
> > > > > I'm hoping we can then have small PRs or at least more people
> > > > > working in
> > > > > parallel.
> > > > >
> > > > > --
> > > > > Jean-Louis Monteiro
> > > > > http://twitter.com/jlouismonteiro
> > > > > http://www.tomitribe.com
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Atentamente:
> > > > > César Hernández.
> > > > >
> > > > >
>

Re: Jakarta Mail TCK - Additional Thoughts? (was: TomEE 9.x - from javax to jakarta namespace)

Posted by "Zowalla, Richard" <ri...@hs-heilbronn.de>.
Hi,

short update on this:

Collaborated with JL and exchanged some ideas via Slack.

We now tested James + Greenmail as mail servers to rule out any hard-
coded TCK assumption regarding James. Both fail with the same exception
/ issue on the same TCK mail: 
https://github.com/eclipse-ee4j/mail-tck/blob/2.0.0/tests/mailboxes/test1/9

The difference between the RI and our impl is basically the literal
header:

a5 APPEND test1 () "8-Dec-1996 15:30:12 +0100" {150432}
a5 BAD APPEND failed. Illegal arguments.

vs (RI):

A6 APPEND test1 () "08-Dec-1996 15:30:12 +0100" {153113+}
A6 OK [APPENDUID 466034631 1] APPEND completed.
  Copied 1 messages

I pushed a configured Jakarta Mail TCK 2.0.1 setup with updated
instructions into this repository: https://github.com/rzo1/mail-tck 

In addition, I am CC'ing the geronimo list, in case some people there
have additional ideas. Otherwise, we will need to take a dive into the
imap spec / server-side impl to get any clues :)

Gruß
Richard


Am Dienstag, dem 24.05.2022 um 19:46 +0000 schrieb Zowalla, Richard:
> Hi,
> 
> I spend some more time on the mail tck and got some additional
> insights:
> 
> There is one specific mail from the TCK mailbox (test1, mail no. 9),
> which breaks the current Geronimo mail impl. This happens, if you try
> to bootstrap / setup the test mailbox before running the TCK
> according
> ti their documentation. The same procedere just works, if the
> reference
> impl is used.
> 
> The failing tests in the mail tck report similar issues regarding
> failed IMAP commands. Therefore, I assume, that the underlying issue
> is
> similar, i.e. if we solve that, we likely fix some of the TCK tests
> too.
> 
> I added some instructions to 
> https://issues.apache.org/jira/browse/GERONIMO-6835 to reproduce the
> issue without actually running the TCK, so we might have the chance
> to
> debug it easily. 
> 
> Basically:
> 
> - Checkout https://github.com/rzo1/geronimo-javamail/tree/tck-issues
> - Follow the instructions in tck.adoc to start up a mail server
> (docker-compose + docker exec)
> - Run "fpopulate" with arguments "-s test1 -d
> imap://user01%40james.local:1234@localhost:1143 -D" from within your
> IDE
> - Observe the debug output on the console
> 
> 
> There is a difference between the message length between the RI and
> the
> Geronimo impl (as reported by the { } literal). This might be the
> cause
> (??), but I have no idea what is going on or why it is happening.
> 
> Maybe someone has an idea what is going on here? Or has a pointer
> where
> to look at? I might be "lost in the tck madness" for today :)
> 
> Gruß
> Richard
> 
> 
> 
> Am Dienstag, dem 24.05.2022 um 17:13 +0000 schrieb Zowalla, Richard:
> > To give a more detailed view / update from the spec tck party
> > regarding
> > activation and mail:
> > 
> > (A) Geronimo Activation 2.0
> > 
> > After a first milestone (M1) and some additional fixes after
> > running
> > the activation TCK [1] and related signatures tests, we are now
> > passing
> > them. 
> > 
> > JL prepared a release artifact (1.0.0), which is currently under
> > vote.
> > 
> > During the tck work, we found some inconsistency / unspecified
> > behaviour of "normalizeMimeTypeParameter" of ActivationDataFlavor.
> > While this method is tested in the TCK on the basis of the
> > reference
> > implementation neither the spec itself nor the javadoc are really
> > clear
> > about the "right" return value. At the moment, we adjusted it to
> > pass
> > the TCK test in question.
> > 
> > There is an ongoing discussion at dev@geronimo if this is a desired
> > behaviour or if a system property should be introduced in order to
> > reduce the possibility of breaking some users.
> > 
> > (B) Geronimo Mail 2.0 / 2.1
> > 
> > The current mail impl has some TCK failures. It seems, that we need
> > to
> > do some additional work to get it compliant with the standalone
> > mail
> > tck [3].
> > 
> > The signature tests are failing for Java 11 but are fine with Java
> > 8
> > [4] due to some usage of Object#finalize() and missing annotations
> > (only available in Java 9+) in the Geronimo implementation. While
> > it
> > is
> > not that important for EE9, we need to keep it in mind for EE10.
> > 
> > We currently pass 166 out of 321 mail tck tests [5]. I guess, we
> > need
> > to give it some more love to get the numbers up and finally get it
> > to
> > pass the mail tck. The good thing is, that we already pass the
> > javamail
> > tests for TomEE [6].
> > 
> > Gruß
> > Richard
> > 
> > 
> > 
> > [1] https://jakarta.ee/specifications/activation/2.0/
> > [2] 
> > https://lists.apache.org/thread/h8twm4rmdxt67fx227nyywjp96b6cky1
> > [3] https://jakarta.ee/specifications/mail/2.0/
> > [4] https://issues.apache.org/jira/browse/GERONIMO-6834
> > [5] https://issues.apache.org/jira/browse/GERONIMO-6835
> > [6]  
> > https://tck.work/tomee/tests?build=1651841331620&path=com.sun.ts.tests.javamail
> > 
> > Am Dienstag, dem 24.05.2022 um 15:44 +0200 schrieb Jean-Louis
> > Monteiro:
> > > Alright, time for a new update.
> > > 
> > > TomEE 8.x with JDK8 and EE8 is equivalent to TomEE 9.x with
> > > JDK11/JDK17 and
> > > EE9.
> > > The build is still not full green, but it's time to start
> > > grabbing
> > > user
> > > feedback as we discussed.
> > > 
> > > So the work started to take every single piece we fixed or
> > > patched
> > > to
> > > start
> > > doing releases and if possible run TCK + signature Tests.
> > > 
> > > David did activation and mail milestones. Richard used the
> > > milestone
> > > to fix
> > > and we are now under vote for activation 2.0 final and Richard is
> > > making
> > > some awesomeness on the mail spec and impl. We should be able to
> > > get
> > > final
> > > versions soon.
> > > 
> > > We also have an OWB vote starting today for a jakarta compatible
> > > version
> > > (including TCK).
> > > Next step is to release a milestone for jakartaee-api 9.1-M2 and
> > > move
> > > on.
> > > 
> > > 
> > > 
> > > --
> > > Jean-Louis Monteiro
> > > http://twitter.com/jlouismonteiro
> > > http://www.tomitribe.com
> > > 
> > > 
> > > On Thu, May 12, 2022 at 9:29 AM Wiesner, Martin <
> > > martin.wiesner@hs-heilbronn.de> wrote:
> > > 
> > > > +1
> > > > 
> > > > Best
> > > > Martin
> > > > —
> > > > https://twitter.com/mawiesne
> > > > 
> > > > 
> > > > Am 11.05.2022 um 19:00 schrieb Cesar Hernandez <
> > > > cesarguate@gmail.com
> > > > <ma...@gmail.com>>:
> > > > 
> > > > +1, Thank you!
> > > > 
> > > > 
> > > > El mié, 11 may 2022 a las 9:06, Daniel Dias Dos Santos (<
> > > > daniel.dias.analistati@gmail.com<mailto:
> > > > daniel.dias.analistati@gmail.com>>)
> > > > escribió:
> > > > 
> > > > +1
> > > > 
> > > > On Wed, May 11, 2022, 12:00 Zowalla, Richard <
> > > > richard.zowalla@hs-heilbronn.de<mailto:
> > > > richard.zowalla@hs-heilbronn.de>>
> > > > wrote:
> > > > 
> > > > I am fine with it: +1
> > > > ________________________________
> > > > Von: Jean-Louis Monteiro <jlmonteiro@tomitribe.com<mailto:
> > > > jlmonteiro@tomitribe.com>>
> > > > Gesendet: Mittwoch, 11. Mai 2022 15:57:54
> > > > An: dev@tomee.apache.org<ma...@tomee.apache.org>
> > > > Betreff: Re: TomEE 9.x - from javax to jakarta namespace
> > > > 
> > > > Alright, with the latest changes pushed yesterday and today, we
> > > > are
> > > > now
> > > > at
> > > > the exact same numbers for TomEE 8.x / Jakarta EE 8 under JDK8
> > > > and
> > > > TomEE
> > > > 9.x / Jakarta 9.1 under JDK17.
> > > > 
> > > > If everyone is ok with it, we can create a new milestone and
> > > > give
> > > > users
> > > > the
> > > > opportunity to provide us with some feedback and to report
> > > > bugs.
> > > > 
> > > > --
> > > > Jean-Louis Monteiro
> > > > http://twitter.com/jlouismonteiro
> > > > http://www.tomitribe.com
> > > > 
> > > > 
> > > > On Tue, May 10, 2022 at 7:06 PM David Blevins <
> > > > david.blevins@gmail.com>
> > > > wrote:
> > > > 
> > > > Was checking out the TCK numbers this morning can make to
> > > > suggest
> > > > a
> > > > 9.0.0-M8 while things look good and found this amazing email.
> > > > 
> > > > The 9.0.x branch is looking absolutely amazing!!!
> > > > 
> > > > What do we think about pushing out a 9.0.0-M8 while things are
> > > > in
> > > > their
> > > > peak-stable state?  I'm sure we'll have to rip up a few more
> > > > things
> > > > to
> > > > finish off the remaining Jakarta EE and MP TCK issues.  Would
> > > > be
> > > > great
> > > > to
> > > > have something that isn't M7 to fallback on as a reference
> > > > point
> > > > to
> > > > track
> > > > regressions.
> > > > 
> > > > Thoughts?
> > > > 
> > > > 
> > > > -David
> > > > 
> > > > 
> > > > 
> > > > On May 10, 2022, at 3:56 AM, Jean-Louis Monteiro <
> > > > jlmonteiro@tomitribe.com<ma...@tomitribe.com>>
> > > > wrote:
> > > > 
> > > > Hi all,
> > > > 
> > > > Time for some reporting....
> > > > 
> > > > On our journey to migrate TomEE over from javax to jakarta
> > > > namespace,
> > > > we
> > > > had many issues.
> > > > After updating all our code, we had to do a bunch of dependency
> > > > upgrades
> > > > after upgrading many of them (OpenWebbeans, BVal, Geronimo,
> > > > etc).
> > > > 
> > > > We then faced many issues with non compatible libraries for
> > > > example
> > > > (ActiveMQ, commons-dbcp, CXF, sxc, taglib, etc). So we ended up
> > > > repacking
> > > > them in our own groupId after using the Maven Shade plugin to
> > > > relocate
> > > > the
> > > > packages.
> > > > 
> > > > We worked on BVal TCK and CDI TCK and we are close to passing
> > > > them.
> > > > 
> > > > But we had before to solve all our outdated MicroProfile 1.3
> > > > stack
> > > > to
> > > > the
> > > > most recent and jakarta compatible version. Geronimo
> > > > implementations
> > > > being
> > > > far being, we decided to use some SmallRye implementations
> > > > until
> > > > we
> > > > can
> > > > dedicate some time to update our Apache implementations
> > > > (config,
> > > > metrics,
> > > > health, openapi, opentracing, fault tolerance).
> > > > 
> > > > Our build is now more stable, but still not green. Some issues
> > > > are
> > > > basically easy to fix and most people could do it (examples for
> > > > instance).
> > > > 
> > > > https://ci-builds.apache.org/job/Tomee/job/master-build-full/
> > > > 
> > > > The integration for openapi, opentracing and fault tolerance is
> > > > not
> > > > done
> > > > and we are far from passing the TCK. On config, metrics and
> > > > health
> > > > we
> > > > are
> > > > close. Same for our JWT implementation.
> > > > 
> > > > I also wanted to have a view on the platform TCK, so I decided
> > > > to
> > > > stop
> > > > TomEE work in order to spend time on the Platform TCK to do all
> > > > dependency
> > > > upgrades and get the TCK to run properly. I'm pleased to
> > > > announce
> > > > that
> > > > after 2 weeks of hard work, we are 99% compatible
> > > > 
> > > > https://tck.work/tomee/build?id=1652104572445
> > > > 
> > > > Thanks everyone for the help.
> > > > Keep going and if you need some guidance or help, let us know.
> > > > 
> > > > For coordination purposes, here is the issue
> > > > https://issues.apache.org/jira/browse/TOMEE-3862
> > > > Many subtasks are there and you can create new tasks when
> > > > needed
> > > > and
> > > > ask
> > > > any committer to assign it to you.
> > > > 
> > > > 
> > > > 
> > > > --
> > > > Jean-Louis Monteiro
> > > > http://twitter.com/jlouismonteiro
> > > > http://www.tomitribe.com
> > > > 
> > > > 
> > > > On Thu, May 5, 2022 at 11:13 AM Zowalla, Richard <
> > > > richard.zowalla@hs-heilbronn.de> wrote:
> > > > 
> > > > Yes - we already yanked it in 9.x
> > > > 
> > > > Gruß
> > > > Richard
> > > > 
> > > > Am Donnerstag, dem 05.05.2022 um 10:10 +0100 schrieb Jonathan
> > > > Gallimore:
> > > > Sounds good. I'll drop the transformer from the 8.x branch
> > > > (looks
> > > > like we
> > > > don't use it in 9.x), and I'll create a single example to
> > > > demonstrate
> > > > it in
> > > > a sandbox.
> > > > 
> > > > Jon
> > > > 
> > > > On Wed, May 4, 2022 at 12:32 PM Zowalla, Richard <
> > > > richard.zowalla@hs-heilbronn.de<mailto:
> > > > richard.zowalla@hs-heilbronn.de>>
> > > > wrote:
> > > > 
> > > > You are right - we can remove it imho from 8.x as we do not
> > > > test
> > > > with
> > > > it and the transformed samples might not even work, e.g.
> > > > dependencies
> > > > are not migrated, etc.
> > > > 
> > > > +1 for providing a (bigger) example.
> > > > 
> > > > Gruß
> > > > Richard
> > > > 
> > > > Am Mittwoch, dem 04.05.2022 um 11:17 +0100 schrieb Jonathan
> > > > Gallimore:
> > > > I've picked up a task related to the examples:
> > > > https://issues.apache.org/jira/browse/TOMEE-3873. I
> > > > specifically
> > > > went
> > > > for
> > > > this, as I added the Eclipse Transformer to the build for a
> > > > number of
> > > > examples in the past, back when we were doing the
> > > > transformation
> > > > process on
> > > > TomEE itself. The drawbacks here is that any tests in the
> > > > examples
> > > > run on
> > > > the javax code, and we just "assume" that the transformed
> > > > artifact
> > > > works. I
> > > > would suggest removing that for the master build, as it just
> > > > takes
> > > > build
> > > > time, and the examples should be transformed from javax to
> > > > jakarta at
> > > > source (if they aren't already). On the TomEE 8 build, we could
> > > > select a
> > > > few examples (no need to do them all) and find a way to run the
> > > > tests
> > > > on
> > > > both javax and jakarta versions of TomEE.
> > > > 
> > > > Additionally, it would likely be useful to add documentation to
> > > > this.
> > > > If we
> > > > also wanted a bigger example application that specifically
> > > > covers
> > > > transformation, I could look at that too.
> > > > 
> > > > What do you think?
> > > > 
> > > > Jon
> > > > 
> > > > 
> > > > 
> > > > On Tue, Mar 22, 2022 at 12:58 PM Jean-Louis Monteiro <
> > > > jlmonteiro@tomitribe.com<ma...@tomitribe.com>>
> > > > wrote:
> > > > 
> > > > Hi,
> > > > 
> > > > I've been working for quite a long time on TomEE 9.x, and it's
> > > > been
> > > > more
> > > > challenging and painful than I was expecting. I thought it
> > > > would be
> > > > good to
> > > > give you some sort of status.
> > > > 
> > > > I created a PR for the work. As a reminder, since Java EE moved
> > > > to
> > > > Eclipse
> > > > to become Jakarta EE, we had a switch from javax.* namespace to
> > > > jakarta.*
> > > > namespace. This is an impacting change, since all applications
> > > > and
> > > > applications servers are built on top of it.
> > > > 
> > > > In TomEE, we decided to do that change in TomEE. We had
> > > > previously
> > > > a
> > > > bytecode change approach like an application could do. It
> > > > worked
> > > > and we
> > > > were able to get certified. But it had a lot of limitations, so
> > > > we
> > > > had to
> > > > do the migration in the code and fix all compatibility issues.
> > > > 
> > > > Here is the PR https://github.com/apache/tomee/pull/814
> > > > It has 90+ commits and nearly 5000 files touched (added,
> > > > removed,
> > > > updated).
> > > > I understand it's a lot and it makes it almost impossible to
> > > > review. But I
> > > > did not see much approaches in this scenario to create smaller
> > > > PRs.
> > > > 
> > > > I created a Jenkins build though available at
> > > > 
> > > > https://ci-builds.apache.org/job/Tomee/job/master-build-quick-9.x/
> > > > 
> > > > It makes it possible to track the progress. There have been
> > > > steps
> > > > forward
> > > > and steps backward.
> > > > 
> > > > All the code does not sit under TomEE, we use a bunch of third
> > > > party
> > > > projects and libraries. I have been able to contribute, publish
> > > > jakarta
> > > > compatible versions and get releases for some of them (Jakarta
> > > > EE
> > > > APIs Uber
> > > > jar, Geronimo Connectors and Transaction Manager, Geronimo
> > > > Config,
> > > > Health,
> > > > Metrics, OpenTracing, OpenAPI. OpenJPA, BVal, and OpenWebBeans
> > > > will
> > > > be
> > > > released soon.
> > > > 
> > > > The big parts is CXF, and ActiveMQ. I had to get them done in
> > > > TomEE
> > > > and
> > > > update all group/artifact ids. It's under deps, alongside with
> > > > SXC,
> > > > DBCP,
> > > > and others.
> > > > 
> > > > In terms of removal, I tried to remove old stuff like SAAJ Axis
> > > > 1
> > > > integration, JAX RPC, Management J2EE and a couple of other old
> > > > things.
> > > > 
> > > > A lot of other libraries got updated to their latest version
> > > > when
> > > > available
> > > > in the new jakarta namespace.
> > > > 
> > > > I'm starting to get all the build stable and many modules are
> > > > passing now,
> > > > including all CXF webservices, OpenEJB Core, and others. I can
> > > > get
> > > > a build
> > > > and run TomEE.
> > > > 
> > > > Goal is to get a green build asap so we can start working on
> > > > TCK.
> > > > The "quick" build is now green. Working on the full build.
> > > > 
> > > > I'll soon be creating a branch for TomEE 8.x maintenance and
> > > > merge
> > > > the PR.
> > > > I'm hoping we can then have small PRs or at least more people
> > > > working in
> > > > parallel.
> > > > 
> > > > --
> > > > Jean-Louis Monteiro
> > > > http://twitter.com/jlouismonteiro
> > > > http://www.tomitribe.com
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > --
> > > > Atentamente:
> > > > César Hernández.
> > > > 
> > > > 

Re: Jakarta Mail TCK - Additional Thoughts? (was: TomEE 9.x - from javax to jakarta namespace)

Posted by "Zowalla, Richard" <ri...@hs-heilbronn.de>.
Hi,

short update on this:

Collaborated with JL and exchanged some ideas via Slack.

We now tested James + Greenmail as mail servers to rule out any hard-
coded TCK assumption regarding James. Both fail with the same exception
/ issue on the same TCK mail: 
https://github.com/eclipse-ee4j/mail-tck/blob/2.0.0/tests/mailboxes/test1/9

The difference between the RI and our impl is basically the literal
header:

a5 APPEND test1 () "8-Dec-1996 15:30:12 +0100" {150432}
a5 BAD APPEND failed. Illegal arguments.

vs (RI):

A6 APPEND test1 () "08-Dec-1996 15:30:12 +0100" {153113+}
A6 OK [APPENDUID 466034631 1] APPEND completed.
  Copied 1 messages

I pushed a configured Jakarta Mail TCK 2.0.1 setup with updated
instructions into this repository: https://github.com/rzo1/mail-tck 

In addition, I am CC'ing the geronimo list, in case some people there
have additional ideas. Otherwise, we will need to take a dive into the
imap spec / server-side impl to get any clues :)

Gruß
Richard


Am Dienstag, dem 24.05.2022 um 19:46 +0000 schrieb Zowalla, Richard:
> Hi,
> 
> I spend some more time on the mail tck and got some additional
> insights:
> 
> There is one specific mail from the TCK mailbox (test1, mail no. 9),
> which breaks the current Geronimo mail impl. This happens, if you try
> to bootstrap / setup the test mailbox before running the TCK
> according
> ti their documentation. The same procedere just works, if the
> reference
> impl is used.
> 
> The failing tests in the mail tck report similar issues regarding
> failed IMAP commands. Therefore, I assume, that the underlying issue
> is
> similar, i.e. if we solve that, we likely fix some of the TCK tests
> too.
> 
> I added some instructions to 
> https://issues.apache.org/jira/browse/GERONIMO-6835 to reproduce the
> issue without actually running the TCK, so we might have the chance
> to
> debug it easily. 
> 
> Basically:
> 
> - Checkout https://github.com/rzo1/geronimo-javamail/tree/tck-issues
> - Follow the instructions in tck.adoc to start up a mail server
> (docker-compose + docker exec)
> - Run "fpopulate" with arguments "-s test1 -d
> imap://user01%40james.local:1234@localhost:1143 -D" from within your
> IDE
> - Observe the debug output on the console
> 
> 
> There is a difference between the message length between the RI and
> the
> Geronimo impl (as reported by the { } literal). This might be the
> cause
> (??), but I have no idea what is going on or why it is happening.
> 
> Maybe someone has an idea what is going on here? Or has a pointer
> where
> to look at? I might be "lost in the tck madness" for today :)
> 
> Gruß
> Richard
> 
> 
> 
> Am Dienstag, dem 24.05.2022 um 17:13 +0000 schrieb Zowalla, Richard:
> > To give a more detailed view / update from the spec tck party
> > regarding
> > activation and mail:
> > 
> > (A) Geronimo Activation 2.0
> > 
> > After a first milestone (M1) and some additional fixes after
> > running
> > the activation TCK [1] and related signatures tests, we are now
> > passing
> > them. 
> > 
> > JL prepared a release artifact (1.0.0), which is currently under
> > vote.
> > 
> > During the tck work, we found some inconsistency / unspecified
> > behaviour of "normalizeMimeTypeParameter" of ActivationDataFlavor.
> > While this method is tested in the TCK on the basis of the
> > reference
> > implementation neither the spec itself nor the javadoc are really
> > clear
> > about the "right" return value. At the moment, we adjusted it to
> > pass
> > the TCK test in question.
> > 
> > There is an ongoing discussion at dev@geronimo if this is a desired
> > behaviour or if a system property should be introduced in order to
> > reduce the possibility of breaking some users.
> > 
> > (B) Geronimo Mail 2.0 / 2.1
> > 
> > The current mail impl has some TCK failures. It seems, that we need
> > to
> > do some additional work to get it compliant with the standalone
> > mail
> > tck [3].
> > 
> > The signature tests are failing for Java 11 but are fine with Java
> > 8
> > [4] due to some usage of Object#finalize() and missing annotations
> > (only available in Java 9+) in the Geronimo implementation. While
> > it
> > is
> > not that important for EE9, we need to keep it in mind for EE10.
> > 
> > We currently pass 166 out of 321 mail tck tests [5]. I guess, we
> > need
> > to give it some more love to get the numbers up and finally get it
> > to
> > pass the mail tck. The good thing is, that we already pass the
> > javamail
> > tests for TomEE [6].
> > 
> > Gruß
> > Richard
> > 
> > 
> > 
> > [1] https://jakarta.ee/specifications/activation/2.0/
> > [2] 
> > https://lists.apache.org/thread/h8twm4rmdxt67fx227nyywjp96b6cky1
> > [3] https://jakarta.ee/specifications/mail/2.0/
> > [4] https://issues.apache.org/jira/browse/GERONIMO-6834
> > [5] https://issues.apache.org/jira/browse/GERONIMO-6835
> > [6]  
> > https://tck.work/tomee/tests?build=1651841331620&path=com.sun.ts.tests.javamail
> > 
> > Am Dienstag, dem 24.05.2022 um 15:44 +0200 schrieb Jean-Louis
> > Monteiro:
> > > Alright, time for a new update.
> > > 
> > > TomEE 8.x with JDK8 and EE8 is equivalent to TomEE 9.x with
> > > JDK11/JDK17 and
> > > EE9.
> > > The build is still not full green, but it's time to start
> > > grabbing
> > > user
> > > feedback as we discussed.
> > > 
> > > So the work started to take every single piece we fixed or
> > > patched
> > > to
> > > start
> > > doing releases and if possible run TCK + signature Tests.
> > > 
> > > David did activation and mail milestones. Richard used the
> > > milestone
> > > to fix
> > > and we are now under vote for activation 2.0 final and Richard is
> > > making
> > > some awesomeness on the mail spec and impl. We should be able to
> > > get
> > > final
> > > versions soon.
> > > 
> > > We also have an OWB vote starting today for a jakarta compatible
> > > version
> > > (including TCK).
> > > Next step is to release a milestone for jakartaee-api 9.1-M2 and
> > > move
> > > on.
> > > 
> > > 
> > > 
> > > --
> > > Jean-Louis Monteiro
> > > http://twitter.com/jlouismonteiro
> > > http://www.tomitribe.com
> > > 
> > > 
> > > On Thu, May 12, 2022 at 9:29 AM Wiesner, Martin <
> > > martin.wiesner@hs-heilbronn.de> wrote:
> > > 
> > > > +1
> > > > 
> > > > Best
> > > > Martin
> > > > —
> > > > https://twitter.com/mawiesne
> > > > 
> > > > 
> > > > Am 11.05.2022 um 19:00 schrieb Cesar Hernandez <
> > > > cesarguate@gmail.com
> > > > <ma...@gmail.com>>:
> > > > 
> > > > +1, Thank you!
> > > > 
> > > > 
> > > > El mié, 11 may 2022 a las 9:06, Daniel Dias Dos Santos (<
> > > > daniel.dias.analistati@gmail.com<mailto:
> > > > daniel.dias.analistati@gmail.com>>)
> > > > escribió:
> > > > 
> > > > +1
> > > > 
> > > > On Wed, May 11, 2022, 12:00 Zowalla, Richard <
> > > > richard.zowalla@hs-heilbronn.de<mailto:
> > > > richard.zowalla@hs-heilbronn.de>>
> > > > wrote:
> > > > 
> > > > I am fine with it: +1
> > > > ________________________________
> > > > Von: Jean-Louis Monteiro <jlmonteiro@tomitribe.com<mailto:
> > > > jlmonteiro@tomitribe.com>>
> > > > Gesendet: Mittwoch, 11. Mai 2022 15:57:54
> > > > An: dev@tomee.apache.org<ma...@tomee.apache.org>
> > > > Betreff: Re: TomEE 9.x - from javax to jakarta namespace
> > > > 
> > > > Alright, with the latest changes pushed yesterday and today, we
> > > > are
> > > > now
> > > > at
> > > > the exact same numbers for TomEE 8.x / Jakarta EE 8 under JDK8
> > > > and
> > > > TomEE
> > > > 9.x / Jakarta 9.1 under JDK17.
> > > > 
> > > > If everyone is ok with it, we can create a new milestone and
> > > > give
> > > > users
> > > > the
> > > > opportunity to provide us with some feedback and to report
> > > > bugs.
> > > > 
> > > > --
> > > > Jean-Louis Monteiro
> > > > http://twitter.com/jlouismonteiro
> > > > http://www.tomitribe.com
> > > > 
> > > > 
> > > > On Tue, May 10, 2022 at 7:06 PM David Blevins <
> > > > david.blevins@gmail.com>
> > > > wrote:
> > > > 
> > > > Was checking out the TCK numbers this morning can make to
> > > > suggest
> > > > a
> > > > 9.0.0-M8 while things look good and found this amazing email.
> > > > 
> > > > The 9.0.x branch is looking absolutely amazing!!!
> > > > 
> > > > What do we think about pushing out a 9.0.0-M8 while things are
> > > > in
> > > > their
> > > > peak-stable state?  I'm sure we'll have to rip up a few more
> > > > things
> > > > to
> > > > finish off the remaining Jakarta EE and MP TCK issues.  Would
> > > > be
> > > > great
> > > > to
> > > > have something that isn't M7 to fallback on as a reference
> > > > point
> > > > to
> > > > track
> > > > regressions.
> > > > 
> > > > Thoughts?
> > > > 
> > > > 
> > > > -David
> > > > 
> > > > 
> > > > 
> > > > On May 10, 2022, at 3:56 AM, Jean-Louis Monteiro <
> > > > jlmonteiro@tomitribe.com<ma...@tomitribe.com>>
> > > > wrote:
> > > > 
> > > > Hi all,
> > > > 
> > > > Time for some reporting....
> > > > 
> > > > On our journey to migrate TomEE over from javax to jakarta
> > > > namespace,
> > > > we
> > > > had many issues.
> > > > After updating all our code, we had to do a bunch of dependency
> > > > upgrades
> > > > after upgrading many of them (OpenWebbeans, BVal, Geronimo,
> > > > etc).
> > > > 
> > > > We then faced many issues with non compatible libraries for
> > > > example
> > > > (ActiveMQ, commons-dbcp, CXF, sxc, taglib, etc). So we ended up
> > > > repacking
> > > > them in our own groupId after using the Maven Shade plugin to
> > > > relocate
> > > > the
> > > > packages.
> > > > 
> > > > We worked on BVal TCK and CDI TCK and we are close to passing
> > > > them.
> > > > 
> > > > But we had before to solve all our outdated MicroProfile 1.3
> > > > stack
> > > > to
> > > > the
> > > > most recent and jakarta compatible version. Geronimo
> > > > implementations
> > > > being
> > > > far being, we decided to use some SmallRye implementations
> > > > until
> > > > we
> > > > can
> > > > dedicate some time to update our Apache implementations
> > > > (config,
> > > > metrics,
> > > > health, openapi, opentracing, fault tolerance).
> > > > 
> > > > Our build is now more stable, but still not green. Some issues
> > > > are
> > > > basically easy to fix and most people could do it (examples for
> > > > instance).
> > > > 
> > > > https://ci-builds.apache.org/job/Tomee/job/master-build-full/
> > > > 
> > > > The integration for openapi, opentracing and fault tolerance is
> > > > not
> > > > done
> > > > and we are far from passing the TCK. On config, metrics and
> > > > health
> > > > we
> > > > are
> > > > close. Same for our JWT implementation.
> > > > 
> > > > I also wanted to have a view on the platform TCK, so I decided
> > > > to
> > > > stop
> > > > TomEE work in order to spend time on the Platform TCK to do all
> > > > dependency
> > > > upgrades and get the TCK to run properly. I'm pleased to
> > > > announce
> > > > that
> > > > after 2 weeks of hard work, we are 99% compatible
> > > > 
> > > > https://tck.work/tomee/build?id=1652104572445
> > > > 
> > > > Thanks everyone for the help.
> > > > Keep going and if you need some guidance or help, let us know.
> > > > 
> > > > For coordination purposes, here is the issue
> > > > https://issues.apache.org/jira/browse/TOMEE-3862
> > > > Many subtasks are there and you can create new tasks when
> > > > needed
> > > > and
> > > > ask
> > > > any committer to assign it to you.
> > > > 
> > > > 
> > > > 
> > > > --
> > > > Jean-Louis Monteiro
> > > > http://twitter.com/jlouismonteiro
> > > > http://www.tomitribe.com
> > > > 
> > > > 
> > > > On Thu, May 5, 2022 at 11:13 AM Zowalla, Richard <
> > > > richard.zowalla@hs-heilbronn.de> wrote:
> > > > 
> > > > Yes - we already yanked it in 9.x
> > > > 
> > > > Gruß
> > > > Richard
> > > > 
> > > > Am Donnerstag, dem 05.05.2022 um 10:10 +0100 schrieb Jonathan
> > > > Gallimore:
> > > > Sounds good. I'll drop the transformer from the 8.x branch
> > > > (looks
> > > > like we
> > > > don't use it in 9.x), and I'll create a single example to
> > > > demonstrate
> > > > it in
> > > > a sandbox.
> > > > 
> > > > Jon
> > > > 
> > > > On Wed, May 4, 2022 at 12:32 PM Zowalla, Richard <
> > > > richard.zowalla@hs-heilbronn.de<mailto:
> > > > richard.zowalla@hs-heilbronn.de>>
> > > > wrote:
> > > > 
> > > > You are right - we can remove it imho from 8.x as we do not
> > > > test
> > > > with
> > > > it and the transformed samples might not even work, e.g.
> > > > dependencies
> > > > are not migrated, etc.
> > > > 
> > > > +1 for providing a (bigger) example.
> > > > 
> > > > Gruß
> > > > Richard
> > > > 
> > > > Am Mittwoch, dem 04.05.2022 um 11:17 +0100 schrieb Jonathan
> > > > Gallimore:
> > > > I've picked up a task related to the examples:
> > > > https://issues.apache.org/jira/browse/TOMEE-3873. I
> > > > specifically
> > > > went
> > > > for
> > > > this, as I added the Eclipse Transformer to the build for a
> > > > number of
> > > > examples in the past, back when we were doing the
> > > > transformation
> > > > process on
> > > > TomEE itself. The drawbacks here is that any tests in the
> > > > examples
> > > > run on
> > > > the javax code, and we just "assume" that the transformed
> > > > artifact
> > > > works. I
> > > > would suggest removing that for the master build, as it just
> > > > takes
> > > > build
> > > > time, and the examples should be transformed from javax to
> > > > jakarta at
> > > > source (if they aren't already). On the TomEE 8 build, we could
> > > > select a
> > > > few examples (no need to do them all) and find a way to run the
> > > > tests
> > > > on
> > > > both javax and jakarta versions of TomEE.
> > > > 
> > > > Additionally, it would likely be useful to add documentation to
> > > > this.
> > > > If we
> > > > also wanted a bigger example application that specifically
> > > > covers
> > > > transformation, I could look at that too.
> > > > 
> > > > What do you think?
> > > > 
> > > > Jon
> > > > 
> > > > 
> > > > 
> > > > On Tue, Mar 22, 2022 at 12:58 PM Jean-Louis Monteiro <
> > > > jlmonteiro@tomitribe.com<ma...@tomitribe.com>>
> > > > wrote:
> > > > 
> > > > Hi,
> > > > 
> > > > I've been working for quite a long time on TomEE 9.x, and it's
> > > > been
> > > > more
> > > > challenging and painful than I was expecting. I thought it
> > > > would be
> > > > good to
> > > > give you some sort of status.
> > > > 
> > > > I created a PR for the work. As a reminder, since Java EE moved
> > > > to
> > > > Eclipse
> > > > to become Jakarta EE, we had a switch from javax.* namespace to
> > > > jakarta.*
> > > > namespace. This is an impacting change, since all applications
> > > > and
> > > > applications servers are built on top of it.
> > > > 
> > > > In TomEE, we decided to do that change in TomEE. We had
> > > > previously
> > > > a
> > > > bytecode change approach like an application could do. It
> > > > worked
> > > > and we
> > > > were able to get certified. But it had a lot of limitations, so
> > > > we
> > > > had to
> > > > do the migration in the code and fix all compatibility issues.
> > > > 
> > > > Here is the PR https://github.com/apache/tomee/pull/814
> > > > It has 90+ commits and nearly 5000 files touched (added,
> > > > removed,
> > > > updated).
> > > > I understand it's a lot and it makes it almost impossible to
> > > > review. But I
> > > > did not see much approaches in this scenario to create smaller
> > > > PRs.
> > > > 
> > > > I created a Jenkins build though available at
> > > > 
> > > > https://ci-builds.apache.org/job/Tomee/job/master-build-quick-9.x/
> > > > 
> > > > It makes it possible to track the progress. There have been
> > > > steps
> > > > forward
> > > > and steps backward.
> > > > 
> > > > All the code does not sit under TomEE, we use a bunch of third
> > > > party
> > > > projects and libraries. I have been able to contribute, publish
> > > > jakarta
> > > > compatible versions and get releases for some of them (Jakarta
> > > > EE
> > > > APIs Uber
> > > > jar, Geronimo Connectors and Transaction Manager, Geronimo
> > > > Config,
> > > > Health,
> > > > Metrics, OpenTracing, OpenAPI. OpenJPA, BVal, and OpenWebBeans
> > > > will
> > > > be
> > > > released soon.
> > > > 
> > > > The big parts is CXF, and ActiveMQ. I had to get them done in
> > > > TomEE
> > > > and
> > > > update all group/artifact ids. It's under deps, alongside with
> > > > SXC,
> > > > DBCP,
> > > > and others.
> > > > 
> > > > In terms of removal, I tried to remove old stuff like SAAJ Axis
> > > > 1
> > > > integration, JAX RPC, Management J2EE and a couple of other old
> > > > things.
> > > > 
> > > > A lot of other libraries got updated to their latest version
> > > > when
> > > > available
> > > > in the new jakarta namespace.
> > > > 
> > > > I'm starting to get all the build stable and many modules are
> > > > passing now,
> > > > including all CXF webservices, OpenEJB Core, and others. I can
> > > > get
> > > > a build
> > > > and run TomEE.
> > > > 
> > > > Goal is to get a green build asap so we can start working on
> > > > TCK.
> > > > The "quick" build is now green. Working on the full build.
> > > > 
> > > > I'll soon be creating a branch for TomEE 8.x maintenance and
> > > > merge
> > > > the PR.
> > > > I'm hoping we can then have small PRs or at least more people
> > > > working in
> > > > parallel.
> > > > 
> > > > --
> > > > Jean-Louis Monteiro
> > > > http://twitter.com/jlouismonteiro
> > > > http://www.tomitribe.com
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > --
> > > > Atentamente:
> > > > César Hernández.
> > > > 
> > > >