Skip to content

Remove DRPC per-function request queues once they are empty - #8985

Open
rzo1 wants to merge 1 commit into
masterfrom
fix/drpc-function-queue-eviction
Open

Remove DRPC per-function request queues once they are empty#8985
rzo1 wants to merge 1 commit into
masterfrom
fix/drpc-function-queue-eviction

Conversation

@rzo1

@rzo1 rzo1 commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

The map of function name to request queue in DRPC gained an entry for each function name a client asked about, and no code path ever removed one: cleanup() removed the request from a queue and cleanupAll() drained queues, but the queue object and its map entry stayed for the life of the process.

Entries are now dropped once nothing is waiting in them, using compute/computeIfPresent so the map stays race-free. A registered function is served exactly as before, its queue simply being recreated by the next execute(). Extends DRPCTest.

@rzo1 rzo1 added this to the 3.1.0 milestone Aug 21, 2026
@rzo1 rzo1 self-assigned this Aug 21, 2026
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.

1 participant