You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by Mark Thomas <ma...@apache.org> on 2022/09/28 16:05:03 UTC

Tomcat 11 and other plans

Hi all,

Various things have come together this week that have got me thinking 
about the next few months. They include:
- Tomcat 10.1.x voted stable
- Jakarta EE 10 released
- Loom discussions at $work

I've been thinking about a short term plan along the following lines:

1. Make the October release of 10.0.x the final release (barring any
    regressions or serious security issues).

2. After the October releases, create a 10.1.x branch and move main
    development to Tomcat 11.

3. Start on a JioLoomEndpoint and associated plumbing.

2 & 3 I think need a little more detail.

Emmnanuel has already started the discussion about removing the 
SecurityManager. Minimum Java version is another key question but one 
where we'll need to wait for a decision from Jakarta EE. Are there any 
other significant pieces of work folks are thinking about for Tomcat 11?

I'd quite like to start to picking off the low-hanging fruit from the 
Servlet spec issues list and being able to implement things in Tomcat 11 
is key to being able to do that.


Interest in Loom seems to have picked up recently. I've been asked to 
present on Loom and Web Applications at the beginning of December so 
naturally I want to use Tomcat as the basis for my investigations. I 
have the basics (just HTTP Servlet and JSP requests, no HTTP/2, no 
WebSocket, no TLS, no async) working with relatively little code. My 
plan for Tomcat 11 would be continue this work, adding functionality and 
refactoring as necessary to:
- enable a clean separation between the existing and Loom
   implementations
- make any necessary adjustments to make Tomcat more Loom friendly

I am currently have a BIO based Loom endpoint (I should probably rename 
that to BioLoomEndpoint). I don't currently see what an NioLoomEndpoint 
could offer but that is something to explore at some point.

An obvious question at this point, particularly given that Loom is still 
in preview, is should this be in a separate module?

Thoughts?

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: Tomcat 11 and other plans

Posted by Rémy Maucherat <re...@apache.org>.
On Wed, Sep 28, 2022 at 6:05 PM Mark Thomas <ma...@apache.org> wrote:
>
> Hi all,
>
> Various things have come together this week that have got me thinking
> about the next few months. They include:
> - Tomcat 10.1.x voted stable
> - Jakarta EE 10 released
> - Loom discussions at $work
>
> I've been thinking about a short term plan along the following lines:
>
> 1. Make the October release of 10.0.x the final release (barring any
>     regressions or serious security issues).
>
> 2. After the October releases, create a 10.1.x branch and move main
>     development to Tomcat 11.
>
> 3. Start on a JioLoomEndpoint and associated plumbing.
>
> 2 & 3 I think need a little more detail.
>
> Emmnanuel has already started the discussion about removing the
> SecurityManager. Minimum Java version is another key question but one
> where we'll need to wait for a decision from Jakarta EE. Are there any
> other significant pieces of work folks are thinking about for Tomcat 11?
>
> I'd quite like to start to picking off the low-hanging fruit from the
> Servlet spec issues list and being able to implement things in Tomcat 11
> is key to being able to do that.
>
>
> Interest in Loom seems to have picked up recently. I've been asked to
> present on Loom and Web Applications at the beginning of December so
> naturally I want to use Tomcat as the basis for my investigations. I
> have the basics (just HTTP Servlet and JSP requests, no HTTP/2, no
> WebSocket, no TLS, no async) working with relatively little code. My
> plan for Tomcat 11 would be continue this work, adding functionality and
> refactoring as necessary to:
> - enable a clean separation between the existing and Loom
>    implementations
> - make any necessary adjustments to make Tomcat more Loom friendly

I am still not convinced by Loom for now, there are many problems. Ok
for Loom adjustments as long as they don't break the rest ;)

> I am currently have a BIO based Loom endpoint (I should probably rename
> that to BioLoomEndpoint). I don't currently see what an NioLoomEndpoint
> could offer but that is something to explore at some point.
>
> An obvious question at this point, particularly given that Loom is still
> in preview, is should this be in a separate module?

- Yes to a module, the Panama code in preview is there too, so it
would be consistent (also it seems to work for me). For example later,
it is possible to move Panama in the main tree as soon as we choose to
require Java 21 for building (with some additional build.xml
complexity).
- BIO seems to be the best for Loom. NIO doesn't seem worth even
trying. Async not sure, the current NIO2 is a new non blocking impl
with async on top, so not good. However, the Tomcat async layer should
be adaptable on top of BIO I think (some "non blocking" operations are
best if they were blocking).
- It needs the java.io JSSE impl again. OpenSSL is probably not usable
with it (Panama or JNI), or if it somehow works eventually it's bad
(Panama needs a real thread for native ...).
- Since Panama is probably not ok with Loom, this is a problem for
HTTP/3 (still thinking the best option is the future integrated
OpenSSL API and implementation for quic, which is starting to appear
right now).

Rémy

>
> Thoughts?
>
> Mark
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org