Skip to content

Conversation

@arturobernalg
Copy link
Member

Add experimental RouteSegmentedConnPool (OFFLOCK): lock-free, route-segmented, disposal off the hot path; semantics remain compatible with STRICT/LAX.

closeSleepMs routes slowClosePct policy mode count score error units defMaxPerRoute keepAliveMs maxTotal benchmark
0 1 0 LAX thrpt 5 0.673 0.021 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
0 1 0 OFFLOCK thrpt 5 3.568 1.295 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
0 1 0 STRICT thrpt 5 0.345 0.111 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
0 1 5 LAX thrpt 5 0.671 0.054 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
0 1 5 OFFLOCK thrpt 5 3.361 0.123 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
0 1 5 STRICT thrpt 5 0.335 0.024 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
0 1 20 LAX thrpt 5 0.673 0.031 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
0 1 20 OFFLOCK thrpt 5 3.656 0.088 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
0 1 20 STRICT thrpt 5 0.314 0.083 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
0 10 0 LAX thrpt 5 4.648 0.772 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
0 10 0 STRICT thrpt 5 0.359 0.043 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
0 10 5 LAX thrpt 5 4.716 0.163 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
0 10 5 STRICT thrpt 5 0.448 0.176 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
0 10 20 LAX thrpt 5 4.737 0.234 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
0 10 20 OFFLOCK thrpt 5 14.547 1.308 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
0 10 20 STRICT thrpt 5 0.366 0.059 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
200 1 0 LAX thrpt 5 0.688 0.015 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
200 1 0 OFFLOCK thrpt 5 3.408 2.28 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
200 1 0 STRICT thrpt 5 0.351 0.009 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
200 1 5 LAX thrpt 5 0.001 0.001 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
200 1 5 STRICT thrpt 5 0.001 0.001 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
200 1 20 LAX thrpt 5 ~ 10⁻⁴   ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
200 1 20 STRICT thrpt 5 ~ 10⁻⁴   ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
200 10 0 LAX thrpt 5 4.852 0.239 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
200 10 5 LAX thrpt 5 0.005 0.001 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
200 10 5 OFFLOCK thrpt 5 0.005 0.001 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
200 10 20 LAX thrpt 5 0.001 0.001 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed
200 10 20 OFFLOCK thrpt 5 0.001 0.001 ops/us 8 5000 32 RoutePoolsJmh.leaseReleaseMixed

@arturobernalg arturobernalg requested a review from ok2c September 19, 2025 16:53
Copy link
Member

@ok2c ok2c left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@arturobernalg Same deal as with the H2 priority support. This implementation is your area of responsibility entirely. I only get involved if it spills into the public API or affects the critical execution path.

Looks good to me.

…oute-segmented, disposal off critical path; preserves STRICT/LAX semantics.
@ok2c
Copy link
Member

ok2c commented Oct 5, 2025

@arturobernalg Please merge this change-set if you think it is ready. I will proceed with 5.4a1 later today.

@arturobernalg arturobernalg merged commit c21195a into apache:master Oct 5, 2025
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants