Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cu-dev] : RE: Checking in -- progress towards finishing Concurrency Utilities 3.0?

Dmitry/Ed,

The latest obstacle to come up is the final release process itself.  What 
I described doing in previous emails with the Release Candidate API and 
TCK jars on maven and using an implementation that is compatible with 
those to make our final release is not the Jakarta EE process. It is the 
MicroProfile process, which I'm familiar with because I've done several 
times. I assumed (wrongly) that it would also be valid for Jakarta EE 
because both are Eclipse projects.  However, from what I have been hearing 
from discussions on the platform list, this isn't so.  I'm actually 
thoroughly confused about it and need help from the rest of you.  If we 
put the wrong thing into the Open Liberty beta, there is no second chance 
to get it right  -- at least not until beyond the EE 10 cutoff.

First I should clarify what I have previously misstated.

Compatible implementation - I have been using this term incorrectly. 
According to 
https://www.eclipse.org/projects/handbook/#specifications-implementations
 “Compatible Implementations may only claim compatibility with a final 
specification. ... No claims regarding compatibility may be made for an 
implementation milestone build or unratified specification version."

Given this, an implementation that runs against a Release Candidate API 
and TCK and documents its fully passing results is not a compatible 
implementation at all.  It's only a candidate to become a compatible 
implementation, which can only happen if it runs against and passes the 
final release API and TCK, which cannot be the same as the Release 
Candidate due to differences in the version within the artifacts.

To get a final release, we need to complete the checklist in 
specifications repo (linked in the original email from Ed) for a release 
review,
https://github.com/jakartaee/specifications/blob/master/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
which states,
"For a Release Review, a summary that a Compatible Implementation is 
complete, passes the TCK, and that the TCK includes sufficient coverage of 
the specification."

This is where I get lost because this looks like a cycle:
Compatible Implementation requires final spec release.
Final spec release requires Compatible Implementation.

The only way I can reconcile this is if both of these things happen at the 
same time rather than one before the other, which might be how other 
specifications are getting around this.  If I understand correctly, 
discussion on the platform list suggests that others are relying on a 
staging repo to keep their final release API/TCK hidden while they build 
and release compatible implementations which certify on copies which they 
externalize of that, and the API/TCK from the staging repo later gets 
published to maven after the specification becomes final.  This is not how 
Open Liberty does things (as is probably evident from certain responses on 
the platform discussion) and it is uncertain whether we will have any 
success in getting the Open Liberty community to deviate from its 
standards for the sake of getting this specification released.  If this is 
the only way, we can at least try.

Please let me know if I am missing anything here.  If I now have the right 
understanding of the Jakarta EE/Eclipse process, it means we need to be 
creating a Final release API/TCK/specification next week rather than a 
Release Candidate and putting it into staging.




From:   "Steve Millidge (Payara)" <steve.millidge@xxxxxxxxxxx>
To:     "Ed Bratt" <ed.bratt@xxxxxxxxxx>, "Nathan Rauh" 
<nathan.rauh@xxxxxxxxxx>, "Steve Millidge (Payara)" 
<steve.millidge@xxxxxxxxxxx>
Cc:     "cu developer discussions" <cu-dev@xxxxxxxxxxx>, "DMITRY.KORNILOV" 
<dmitry.kornilov@xxxxxxxxxx>
Date:   01/14/2022 03:54 AM
Subject:        RE: [External] : RE: [cu-dev] Checking in -- progress 
towards finishing Concurrency Utilities 3.0?



I’m not aware that any work has been done on concurrency-ri to bring it up 
to speed with the new capabilities in Concurrency 3.0 so I don’t think 
that is an option for this release. From: Ed Bratt <ed.bratt@xxxxxxxxxx> 
‍‍‍‍‍‍‍‍‍‍‍‍‍‍ZjQcmQRYFpfptBannerStart 
This Message Is From an External Sender 
This message came from outside your organization. 
ZjQcmQRYFpfptBannerEnd
I’m not aware that any work has been done on concurrency-ri to bring it up 
to speed with the new capabilities in Concurrency 3.0 so I don’t think 
that is an option for this release.
 
From: Ed Bratt <ed.bratt@xxxxxxxxxx> 
Sent: 13 January 2022 23:43
To: Nathan Rauh <nathan.rauh@xxxxxxxxxx>; Steve Millidge (Payara) 
<steve.millidge@xxxxxxxxxxx>
Cc: cu developer discussions <cu-dev@xxxxxxxxxxx>; DMITRY.KORNILOV 
<dmitry.kornilov@xxxxxxxxxx>
Subject: Re: [External] : RE: [cu-dev] Checking in -- progress towards 
finishing Concurrency Utilities 3.0?
 
Nathan,
There is some CI infrastructure in place for the CU project (
https://ci.eclipse.org/cu/). It might be useful for completing this 
specification version.
The CU project consists of some bits of compatible implementation (stuff 
in concurrency-ri) which I believe constitute a CI. As I understand it, 
concurrency utilities is of the class of components that requires some 
additional infrastructure to host and validate the TCK. (for example, 
Enterprise Security has a Compatible Implementation that only work when 
integrated with something more substantial, like an EE Platform -- the 
same, I believe is true of CU). That said, I see that the previous 
compatibility requests were made for Eclipse GlassFish -- I think you can 
decide if you want to repeat that, or just request a CCR for the 
(unfortunately named concurrency-ri project).
Based on previous releases it might be possible to either perform a local 
build of Eclipse GlassFish that includes the CU compatible implementation 
jar and API -- or, work with the GlassFish team to integrate your proposed 
final CI and API JAR into GlassFish -- using that build, run the current 
TCK and you have what you need (the archived CI would be the the 
concurrency utilities implementation, not the GlassFish version that it 
was integrated into).
It looks like Dmitry Kornilov ran these tests last time they were run. He 
might recall these details more clearly.
Thanks,
-- Ed
PS, after this API is finalized, we should consider splitting it into an 
implementation and Spec. project. The Spec. project could then be moved 
into jakartaee GHO.
On 1/13/2022 6:45 AM, Nathan Rauh wrote:
I just noticed that Ed was somehow left off of the cc list when I replied 
yesterday. Sorry about that. I have just added him back on.

As far as I'm aware, every 3.0 enhancement for which a pull was submitted 
has been fully added to the specification and TCK, with nothing in a 
partial state except for the pending work to add TCK coverage for the new 
resource definition annotations in EJB container and possibly JSPs, which 
are being worked on.  We should create a 3.1 milestone in github to 
collect up a list of enhancements/issues that didn't make 3.0 (such as the 
one you mentioned) that could go into Jakarta EE 11.  If everyone is happy 
with this outcome, the main help that will be needed is the timely 
creation and publish to maven of the 3.0 RC1 image next week after those 
final TCK update(s) go in.  Starting/continuing on your implementation is 
probably the best way to help at this point so that there is a contingency 
plan if this doesn't make the Open Liberty beta in time.  The odds became 
a bit more favorable because I just noticed that Kyle has successfully 
finished addressing all of the review comments on the TCK port issue, and 
so I've merged it in.  Thist just leaves the pending TCK scenario(s) for 
resource definition annotations to get in next week.




From:        "Steve Millidge (Payara)" <steve.millidge@xxxxxxxxxxx>
To:        "Nathan Rauh" <nathan.rauh@xxxxxxxxxx>, "cu developer 
discussions" <cu-dev@xxxxxxxxxxx>
Cc:        "DMITRY.KORNILOV" <dmitry.kornilov@xxxxxxxxxx>
Date:        01/13/2022 06:38 AM
Subject:        [EXTERNAL] RE:  [cu-dev] Checking in -- progress towards 
finishing Concurrency Utilities 3.0?

 
Hi Nathan, Dmitry
 
I should remember how to push artifacts to maven central assuming the old 
Jenkins jobs haven’t got “bit rot”. I was hoping to get an api change for 
this issue MaxConcurrency annotation · Issue #136 · 
eclipse-ee4j/concurrency-api · GitHubbut tbh I’m not going to get the 
time. 
 
I haven’t been following this as closely as I should due to many and 
varied things. Are we OK with spec doc or do I need to pull some of my 
team in to drive this forward more?
 
Our team is starting to look at the implementation of this on Payara 6 
alpha 3 but not sure we can meet the Feb deadline with a Compatible 
Implementation. We likely have more flexibility in pushing out alphas than 
perhaps OpenLiberty.  Is Feb 28th really a drop dead deadline for have a 
CI ready if the API is finalised?
 
Steve
 
From:Nathan Rauh <nathan.rauh@xxxxxxxxxx> 
Sent: 12 January 2022 19:26
To: cu developer discussions <cu-dev@xxxxxxxxxxx>
Cc: DMITRY.KORNILOV <dmitry.kornilov@xxxxxxxxxx>; Steve Millidge (Payara) 
<steve.millidge@xxxxxxxxxxx>
Subject: Re: [cu-dev] Checking in -- progress towards finishing 
Concurrency Utilities 3.0?
 
I can help provide some of the estimated timeline assuming that we will 
need to use Open Liberty as the compatible implementation upon which to 
certify.  Toward the end of last year I sent an email out querying if 
there were any other implementations that could be used as the compatible 
implementation that would meet the Feb 28 deadline, and thus far haven't 
heard back from any others.

Here's how the schedule would line up:

The pull to port over the old TCK bucket to the Concurrency project and 
merge it with the new TCK tests that have already been written for 
Concurrency 3.0 is currently in review state.  It appears that all of the 
review comments thus far have been very minor and so I expect it to be 
merged relatively soon, probably within the next few days.

After this, one of the participants is working on a remaining new TCK test 
to include the new resource definition annotations on an EJB.  That will 
need to be submitted, reviewed and merged, hopefully early next week.

After that, an official RC1 build will need to be performed, and the spec 
API jar and TCK jar published to maven.  I have no idea how to do either 
of these things, but hopefully Steve knows or either of you who are 
helping to mentor will know and can help with it.

If that can all be done by January 19, then we should be able to get it 
into the next beta release of Open Liberty.
Every day beyond that point over the next week will have an increasingly 
lesser chance of making the February beta. I don't expect Open Liberty 
will hold up or change its release schedule for just this spec.

When the February beta comes out around the beginning of February, then we 
would be able to collect official results of the TCK running with the 3.0 
RC1 release on the Open Liberty beta as the compatible implementation.  It 
will take several days further to get those results published to a 
publically accessible location, but it would be well before the Feb 28 
deadline.

The main risk here is getting the 3.0 RC1 image created and published to 
Maven in time.


If another implementation with a more flexible schedule or more lenient 
approach to certification comes along, that would certainly help add some 
time.  But absent that, we do at least have a path to meeting Feb 28, 
albeit a narrow one.




From:        "Ed Bratt" <ed.bratt@xxxxxxxxxx>
To:        "cu developer discussions" <cu-dev@xxxxxxxxxxx>, "Steve 
Millidge (Payara)" <steve.millidge@xxxxxxxxxxx>
Cc:        "DMITRY.KORNILOV" <dmitry.kornilov@xxxxxxxxxx>
Date:        01/12/2022 11:55 AM
Subject:        [EXTERNAL] [cu-dev] Checking in -- progress towards 
finishing Concurrency Utilities 3.0?
Sent by:        "cu-dev" <cu-dev-bounces@xxxxxxxxxxx>




Hi,

Dmitry Kornilov and I have been assigned by the Specification Committee to 
mentor you through the process of finalizing the Release PR for the 
upcoming release review of Jakarta Concurrency 3.0 for inclusion in EE10. 

As a part of wave 1 in the Jakarta EE 10 Release Plan, the release review 
PR could be made at any time. You may create the PR even if you don't have 
all the information required. Just mark it as DRAFT and work on it 
together with your mentor (me).

Are you on track with finishing up this specification version and creating 
a PR for this specification in the specificationsrepository? Are you able 
to estimate when the team anticipates starting this final step?
Is there anything blocking/delaying the release?
Is there anything Dmitry or I can help you or the project team with?
Thank you,
-- Ed_______________________________________________
cu-dev mailing list
cu-dev@xxxxxxxxxxx
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/cu-dev

 




Back to the top