PaperMC / PaperMC/Paper

io_uring support for Paper 1.21.6

Open
#12,626 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

status: needs triage
Dominant language
Java
Stars
12.7k
Forks
3.5k
Avg merge
3d 13h
Merged PRs (30d)
11

Description

Is your feature request related to a problem?

io_uring is a transport type available under linux and can provide some performance improvements.
It has been an incubator for a long time in netty and is now out of incubator in netty 4.2.x

Describe the solution you'd like.

Upgrade netty to the latest 4.2.x version.
It might require to follow the migrating guide and adapt some changes.
It could be locked behind a system property.

Also, following recent issues observed with the new netty allocator present in netty 4.2 it should set it manually and make it also behind a system property.

Describe alternatives you've considered.

Keep netty 4.1.x and add the incubator module which has been archived.

Other

Discord discussion between @electronicboy and me

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating Paper's current Netty dependency and transport setup, then read Netty's 4.2 Migration Guide. Confirm the io_uring transport and allocator can be selected behind system properties, and validate the resulting Paper behavior with the project's existing checks.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, linux
Domain
networking, performance
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.