Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cu-dev] Concurrency 3.0 pulls ready for review: #43, #103 - and two questions on them

Hi Nathan,

Firstly thanks for posting this to the mailing list.

I prefer following EJB naming and call it @Asynchronous. I think this will serve to make it clear the intent is to supersede the EJB functionality eventually.

For the Serializable Context issue, I would favor going with the simplest solution that still allows for providers to create more robust implementations that cover clustering cases for timers and batch. I would hate to standardize something that makes that impossible.

Reza Rahman
Jakarta EE Ambassador, Author, Blogger, Speaker

Please note views expressed here are my own as an individual community member and do not reflect the views of my employer.
 

From: cu-dev <cu-dev-bounces@xxxxxxxxxxx> on behalf of Nathan Rauh <nathan.rauh@xxxxxxxxxx>
Sent: Monday, October 11, 2021 5:46 PM
To: cu developer discussions
Subject: Re: [cu-dev] Concurrency 3.0 pulls ready for review: #43, #103 - and two questions on them
 
Thanks everyone who has been reviewing pulls for the Concurrency spec.

The two following pulls could benefit from some additional discussion.

The first of these, for asynchronous methods has thus far received some good review comments which have all been addressed except for the discussion on whether to name it @Async or @Asynchronous or @Asynch, which seemed like a good question to put before the group in case there are any strong preferences.  Among the reviewers thus far, one had a strong preference for @Async and others weren't sure or didn't have a strong preference. Some of the thoughts which have been pointed out thus far:  @Asynchronous would match the EJB and MP FaultTolerance names, which could be an advantage or disadvantage.  @Async lines up with the CompletableFuture.*Async method names.

Issue #43Asynchronous Methods Annotation
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/147



The second of these, for third-party providers of thread context (which will be useful as a prerequisite to getting CDI context propagation from a third-party like Weld), is mostly a copy from MicroProfile Context Propagation, but I want to highlight one aspect that didn't match up because MicroProfile intentionally excluded a couple of methods to avoid addressing it, which is the question of whether to allow for Serializable thread context.  The only place in the specification where this is possible is with the 4 ContextService.createContextualProxy methods that let you create contextual proxies that can be serialized and deserialized across JVMs. MicroProfile avoided the problem by excluding these methods. We could do that, too, by declaring that the combination of third-party thread context with the createContextualProxy methods is only valid if the interface types are not serializable. That could simplify things for providers of third-party context, especially those for which deserializing context to another JVM makes no sense. But it could also be limiting in scenarios such as persistent (EJB) timers and potentially batch that might use the ContextService to store contextual tasks and expect them to be able to run on another JVM.  What are everyones' thoughts on this?

Issue #103Third-Party Providers of Thread Context
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/149







From:        Nathan Rauh/Rochester/IBM
To:        "cu developer discussions" <cu-dev@xxxxxxxxxxx>
Date:        10/01/2021 03:20 PM
Subject:        Re: [EXTERNAL] Re: [cu-dev] Concurrency 3.0 pulls ready for review: #43, #35, #99, jakartaee-schemas #28



With  #141for the resource definition annotations being merged now, I created the corresponding to update the deployment descriptors with equivalents for the annotations.
This needs a review under the jakartaee-schemas repo,
https://github.com/eclipse-ee4j/jakartaee-schemas/pull/29.

Here is the full list of outstanding issues with pulls that still need a review,


Issue
#28Jakarta EE Schema Updates for Resouce Definition Annotations
pull to review:

https://github.com/eclipse-ee4j/jakartaee-schemas/pull/29


Issue #43Asynchronous Methods Annotation
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/147


Issue
#35Java SE 8 Date and Time Support
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/143

Issue
#99Cron-based Trigger
This builds on the Java SE Date/Time based trigger (#35 above) so it also includes the commit for it.
For only the changes that are unique to this pull, see the following commit:

https://github.com/eclipse-ee4j/concurrency-api/pull/144/commits/8cec1222b66ea6ff68a730d1923fc7355592efe2







From:        Nathan Rauh/Rochester/IBM
To:        "cu developer discussions" <cu-dev@xxxxxxxxxxx>
Date:        09/20/2021 04:19 PM
Subject:        Re: [EXTERNAL] Re: [cu-dev] Concurrency 3.0 pulls ready for review: #38, #46, #35, #99, #43



The pulls for copying from MicroProfile were merged last week.

Next I'll aim to get #140and#141 merged, maybe around a week from now.
Let me know if anyone is still in the process of reviewing these.

Also, I've added #147to the list of pulls open for review,

Issue #38Define Concurrency Resources Portably
This pull is the first step - getting the annotations defined with the most basic attributes.
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/141

Issue
#46Parallel Stream Support
The most I can see doing for this one is to have ManagedThreadFactory also implement ForkJoinWorkerThreadFactory.  Alternatively, we could do nothing and leave it to the user to implement something similar based on ContextService.
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/140

Issue
#35Java SE 8 Date and Time Support
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/143

Issue
#99Cron-based Trigger
This builds on the Java SE Date/Time based trigger (#35 above) so it also includes the commit for it.
For only the changes that are unique to this pull, see the following commit:

https://github.com/eclipse-ee4j/concurrency-api/pull/144/commits/8cec1222b66ea6ff68a730d1923fc7355592efe2

Issue #43Asynchronous Methods Annotation
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/147







From:        "Steve Millidge (Payara)" <steve.millidge@xxxxxxxxxxx>
To:        "cu developer discussions" <cu-dev@xxxxxxxxxxx>
Date:        09/13/2021 06:25 AM
Subject:        [EXTERNAL] Re: [cu-dev] Concurrency 3.0 pulls ready for review: #38, #40, #46, #100, #101, #35, #99
Sent by:        "cu-dev" <cu-dev-bounces@xxxxxxxxxxx>



Hi Nathan,

 

Go ahead and merge.

 

Apologies of being a bit slow in responding recently I am in the middle of a house move and sale.

 

Steve

 

From:cu-dev <cu-dev-bounces@xxxxxxxxxxx> On Behalf Of Nathan Rauh
Sent:
10 September 2021 23:12
To:
cu developer discussions <cu-dev@xxxxxxxxxxx>
Subject:
Re: [cu-dev] Concurrency 3.0 pulls ready for review: #38, #40, #46, #100, #101, #35, #99

 

I'd like to start merging the 3 pulls from the list below that consist of copying interfaces over from MicroProfile.
Let me know if anyone is still in the process of reviewing these and would like more time, otherwise I'll go ahead and merge them in 5 days or so


Issue
#40Completion stages backed by ManagedExecutorService
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/104

Issue
#100ContextService methods for contextualizing individual dependent stage actions
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/138

Issue
#101Completion stages backed by a ContextService
pull (also contains the commit for #100 which is a prereq due to references made in JavaDoc):
https://github.com/eclipse-ee4j/concurrency-api/pull/139
commit that is unique to this pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/139/commits/ba9c817de5e47c4a32ee40c6bd46d97dcb3eea0e




From:        
Nathan Rauh/Rochester/IBM
To:        
"cu developer discussions" <cu-dev@xxxxxxxxxxx>
Date:        
08/27/2021 01:26 PM
Subject:        
Re: [EXTERNAL] Re: [cu-dev] Concurrency 3.0 pulls ready for review: #38, #40, #46, #100, #101, #143, #144




Adding 2 more pulls to the list needing review,


Issue
#40Completion stages backed by ManagedExecutorService
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/104

Issue
#100ContextService methods for contextualizing individual dependent stage actions
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/138

Issue
#101Completion stages backed by a ContextService
pull (also contains the commit for #100 which is a prereq due to references made in JavaDoc):
https://github.com/eclipse-ee4j/concurrency-api/pull/139
commit that is unique to this pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/139/commits/ba9c817de5e47c4a32ee40c6bd46d97dcb3eea0e

Issue
#38Define Concurrency Resources Portably
This pull is the first step - getting the annotations defined with the most basic attributes.
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/141

Issue
#46Parallel Stream Support
The most I can see doing for this one is to have ManagedThreadFactory also implement ForkJoinWorkerThreadFactory.  Alternatively, we could do nothing and leave it to the user to implement something similar based on ContextService.
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/140

Issue
#35Java SE 8 Date and Time Support
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/143

Issue
#99Cron-based Trigger
This builds on the Java SE Date/Time based trigger (#35 above) so it also includes the commit for it.
commit that is unique to this pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/144/commits/8cec1222b66ea6ff68a730d1923fc7355592efe2






From:        
"Steve Millidge (Payara)" <steve.millidge@xxxxxxxxxxx>
To:        
"cu developer discussions" <cu-dev@xxxxxxxxxxx>
Date:        
08/10/2021 06:52 AM
Subject:        
[EXTERNAL] Re: [cu-dev] Concurrency 3.0 pulls ready for review: #38, #40, #46, #100, #101
Sent by:        
"cu-dev" <cu-dev-bounces@xxxxxxxxxxx>


 

Hi,

 

I will get my team to review. I’m also trying to push to get more feedback and involvement from others through a number of JUG talks and Jakarta tech talks. I’d like to get together a team that is interested in driving this forward in the Jakarta EE 10 timeframe.

 

I think it would be good to also have a co-project lead so I don’t feel the burden to drive the specification falls to me. @Nathan would you be interested in being a co-project lead?

 

Steve

 

From:cu-dev <cu-dev-bounces@xxxxxxxxxxx> On Behalf Of Nathan Rauh
Sent:
09 August 2021 22:31
To:
cu developer discussions <
cu-dev@xxxxxxxxxxx>
Subject:
[cu-dev] Concurrency 3.0 pulls ready for review: #38, #40, #46, #100, #101

 

Now that we are at a point where we can start making updates for Jakarta EE 10, could specification participants review the 5 pulls for the Concurrency 3.0 planned items below (whichever you are comfortable with reviewing) and make comments in them regarding any changes that are needed or otherwise approve them for merging? Thanks!

Issue
#40Completion stages backed by ManagedExecutorService
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/104

Issue
#100ContextService methods for contextualizing individual dependent stage actions
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/138

Issue
#101Completion stages backed by a ContextService
pull (also contains the commit for #100 which is a prereq due to references made in JavaDoc):
https://github.com/eclipse-ee4j/concurrency-api/pull/139
commit that is unique to this pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/139/commits/ba9c817de5e47c4a32ee40c6bd46d97dcb3eea0e

Issue
#38Define Concurrency Resources Portably
This pull is the first step - getting the annotations defined with the most basic attributes.
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/141

Issue
#46Parallel Stream Support
The most I can see doing for this one is to have ManagedThreadFactory also implement ForkJoinWorkerThreadFactory.  Alternatively, we could do nothing and leave it to the user to implement something similar based on ContextService.
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/140




From:        
Nathan Rauh/Rochester/IBM
To:        
cu developer discussions <cu-dev@xxxxxxxxxxx>
Date:        
05/10/2021 04:29 PM
Subject:        
Ready for review: #38, #40, #46, #100, #101




In addition to the 3 pulls that I mentioned previously (forwarded) for bringing over MicroProfile API,
the following 2 pulls are also ready for review:



Issue
#38Define Concurrency Resources Portably
This pull is the first step - getting the annotations defined with the most basic attributes.
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/141


Issue
#46Parallel Stream Support
The most I can see doing for this one is to have ManagedThreadFactory also implement ForkJoinWorkerThreadFactory.  Alternatively, we could do nothing and leave it to the user to implement something similar based on ContextService.
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/140


see below for 3 additional pulls to copy over MicroProfile API,


----- Forwarded by Nathan Rauh/Rochester/IBM on 05/10/2021 04:11 PM -----


From:        
Nathan Rauh/Rochester/IBM
To:        
cu developer discussions <cu-dev@xxxxxxxxxxx>
Date:        
03/31/2021 10:11 AM
Subject:        
Ready for review: #40, #100, #101 for transferring over MicroProfile API to Jakarta EE Concurrency 3.0




Given the amount of proposed content for Concurrency in Jakarta 10, I've started putting together pulls for the MicroProfile-related enhancements currently in the
Milestone 3 list, starting with the ones for copying over API methods around CompletionStage/CompletableFuture.  The following 3 are ready to start reviewing now (I won't actually be merging anything until after the release plan is official, and of course pending approval from the community)

When reviewing these, it will be helpful to note that MicroProfile class ManagedExecutor is the equivalent of our ManagedExecutorService,
and MicroProfile class ThreadContext is the equivalent of our ContextService.

The method signatures themselves are an exact copy (which will be great for compatibility), except for the one place where MicroProfile's ManagedExecutor has a getThreadContext method that returns a ThreadContext, which is switched to ContextService. The intent behind the MicroProfile method here is so that threadContext/contextService.withContextCapture(completionStage/completableFuture) can create CompletionStage/CompletableFuture proxies that are backed by the ManagedExecutor.  But managedExecutor[Service].copy(completionStage/completableFuture) can already do that.  We can decide if the equivalent getContextService method is really wanted/needed here, and if not, I can remove it.  To start out with, I included it in the pull so that you have the opportunity to see what it would look like if we did include it. Please add your feedback on it in the review.  I would be happy with either outcome and will go with the majority on it.


Issue
#40Completion stages backed by ManagedExecutorService
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/104

Issue
#100ContextService methods for contextualizing individual dependent stage actions
pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/138

Issue
#101Completion stages backed by a ContextService
pull (also contains the commit for #100 which is a prereq due to references made in JavaDoc):
https://github.com/eclipse-ee4j/concurrency-api/pull/139
commit that is unique to this pull to review:

https://github.com/eclipse-ee4j/concurrency-api/pull/139/commits/ba9c817de5e47c4a32ee40c6bd46d97dcb3eea0e



_______________________________________________
cu-dev mailing list

cu-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cu-dev

 _______________________________________________
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