aerospike-client-java icon indicating copy to clipboard operation
aerospike-client-java copied to clipboard

Add support for io_uring with Netty 4.2.1.Final

Open ChristopherWirt opened this issue 8 months ago • 2 comments

Netty has finally added io_uring support as part of the 4.2 release. In this update, they've changed the EventLooGroup class hierarchy, deprecating Epoll/KQueue/Nio EventLoopGroup and replacing it with Multi/SingleThreadIoEventLoopGroup composed of IoHandlerFactory, which defines the io event framework. No IOURingEventLoopGroup was ever added.

NettyEventLoops needs to adopt a new approach to deciding which EventLoopType to use. Using IoEventLoopGroup.isIoType(Handler) seems like a reasonable way to do this.

I've also removed the use of the deprecated EventLoopGroup classes and replaced them with the new method.

Without this PR you'll get AerospikeException("Unexpected EventLoopGroup") when trying to use netty with io_uring.

ChristopherWirt avatar May 08 '25 13:05 ChristopherWirt

We will merge this pull request when we upgrade to netty 4.2.

BrianNichols avatar May 08 '25 20:05 BrianNichols

The snyk pull requests for Netty 4.2 were not triggered by a security vulnerability. We will be staying on the Netty 4.1.X branch for the time being.

BrianNichols avatar Jun 02 '25 17:06 BrianNichols