Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Status of Undertow 3

126 views
Skip to first unread message

Jan Novotný

unread,
Mar 3, 2023, 3:37:53 AM3/3/23
to Undertow Dev
Hello everyone,

    it's been a while since the announcement of Undertow 3 (https://undertow.io/blog/2019/04/15/Undertow-3.html) and there has been no further follow-up on this topic.
    Can I ask about any current development or plans in this area?
    We use Undertow for GraphQL/REST APIs in the https://github.com/FgForrest/evitaDB project and we're very satisfied with its API, ease of use and the performance. But we have to support gRPC, which forces us to run Netty as well. We would like to stay with Undertow for all APIs, but this does not seem possible now (due to XNIO). Running two web servers is not optimal in terms of resource usage, threading and so on.

Best regards and thank you for your time,
Jan

Flavia Rainone

unread,
Mar 3, 2023, 3:12:27 PM3/3/23
to Undertow Dev
Hello Jan,

We have been dedicated to the demands of upgrading Undertow 2.x to Jakarta EE10. Now that's work is done, we will be focusing on resuming the work for Undertow 3.

Right now it is at planning stage, but you can expect news coming within the next months. Yes, Undertow 3 will be based on Netty or VertX, and we plan to keep the majority of the API, apart from anything that refers to XNIO.

Best regards,
Flavia

Lawrence Dol

unread,
Mar 29, 2023, 10:29:10 PM3/29/23
to Undertow Dev
We use Undertow as the basis for our custom webserver and I have been very happy with its design and functionality. Before saying anything further, thank you for all the work Undertow represents, and for allowing us to benefit from it gratis.

One thing I would like, though, is better isolation of the core package from everything else. Right now each time I update the core I have to follow a bit of a rabbit trail through Maven to isolate only the bar minimum number of JARs actually needed due to some fairly important overall size constraints, and then build our application server JAR running the JAR through ProGuard, ignoring scores of unresolved references in the process, followed by runtime testing to make sure I haven't excluded anything that is actually needed. The effort involved causes me to minimize how often I update Undertow to once every year or two.

At present for core 2.2.3 I have to separately source updates for ALPN, JBOSS logging, JBOSS threads, wildfly-common, xnio-api, and xnio-nio. ALPN I completely understand and it's been stable forever. Threads too. But since we want to just use the JVM logging features JBOSS logging seems, well, a surprising dependency -- it feels backwards to me, since I believe JBOSS logging should be an optional addition to the JVM logging support, not the other way around. So too does wildfly-common, since it seems that should not be used by Undertow at all, which is a dependency of Wildfly, and should not therefore have a dependency on WildFly. But by far the biggest concern is the myriad implicit dependencies that ProGuard detects which have to be ignored (with their absence causing zero problems over the years).

It would be lovely if Undertow 3 cleaned up this situation. It would be simply amazing if a single, minimal Undertow core JAR contained everything it needs, and nothing it doesn't.

Thanks for hearing me out and considering this.
Reply all
Reply to author
Forward
0 new messages