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.wies...@hs-heilbronn.de> wrote:
> > > 
> > > > +1
> > > > 
> > > > Best
> > > > Martin
> > > > —
> > > > https://twitter.com/mawiesne
> > > > 
> > > > 
> > > > Am 11.05.2022 um 19:00 schrieb Cesar Hernandez <
> > > > cesargu...@gmail.com
> > > > <mailto:cesargu...@gmail.com>>:
> > > > 
> > > > +1, Thank you!
> > > > 
> > > > 
> > > > El mié, 11 may 2022 a las 9:06, Daniel Dias Dos Santos (<
> > > > daniel.dias.analist...@gmail.com<mailto:
> > > > daniel.dias.analist...@gmail.com>>)
> > > > escribió:
> > > > 
> > > > +1
> > > > 
> > > > On Wed, May 11, 2022, 12:00 Zowalla, Richard <
> > > > richard.zowa...@hs-heilbronn.de<mailto:
> > > > richard.zowa...@hs-heilbronn.de>>
> > > > wrote:
> > > > 
> > > > I am fine with it: +1
> > > > ________________________________
> > > > Von: Jean-Louis Monteiro <jlmonte...@tomitribe.com<mailto:
> > > > jlmonte...@tomitribe.com>>
> > > > Gesendet: Mittwoch, 11. Mai 2022 15:57:54
> > > > An: d...@tomee.apache.org<mailto:d...@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.blev...@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 <
> > > > jlmonte...@tomitribe.com<mailto:jlmonte...@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.zowa...@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.zowa...@hs-heilbronn.de<mailto:
> > > > richard.zowa...@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 <
> > > > jlmonte...@tomitribe.com<mailto:jlmonte...@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.
> > > > 
> > > > 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to