Skip to content

feat: allow running a poller on custom thread#98

Merged
tiagolobocastro merged 3 commits intorelease/2.9from
poller-th
Mar 6, 2026
Merged

feat: allow running a poller on custom thread#98
tiagolobocastro merged 3 commits intorelease/2.9from
poller-th

Conversation

@tiagolobocastro
Copy link
Copy Markdown
Member

feat: allow running a poller on custom thread

This required refactoring the selection to add for 3 options:
1. current thread
2. new thread on specified core
3. explicitly specified thread

This is useful as it allows us to run pollers on existing threads
to avoid running down the thread message pool.
Specifically for nvmx, rather than create a thread per replica,
we'd now be able to share threads on each core per replica.

feat(thread): expose the thread id from Thread

This is a monotonic increasing id which begins at 1 and is used
to identify threads.
This id cannot overflow... a restart would be required.

This is a monotonic increasing id which begins at 1 and is used
to identify threads.
This id cannot overflow... a restart would be required.

Signed-off-by: Tiago Castro <tiagolobocastro@gmail.com>
@tiagolobocastro tiagolobocastro requested a review from a team as a code owner March 2, 2026 16:59
@tiagolobocastro
Copy link
Copy Markdown
Member Author

@mergify backport develop

@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Mar 2, 2026

backport develop

✅ Backports have been created

Details

Cherry-pick of 9664a7f has failed:

On branch mergify/bp/develop/pr-98
Your branch is ahead of 'origin/develop' by 2 commits.
  (use "git push" to publish your local commits)

You are currently cherry-picking commit 9664a7f.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	modified:   Cargo.toml

Unmerged paths:
  (use "git add/rm <file>..." as appropriate to mark resolution)
	deleted by us:   .github/workflows/pr-code-lint.yaml

To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Mar 2, 2026

🧪 CI Insights

Here's what we observed from your CI run for 9664a7f.

🟢 All jobs passed!

But CI Insights is watching 👀

This required refactoring the selection to add for 3 options:
1. current thread
2. new thread on specified core
3. explicitly specified thread

This is useful as it allows us to run pollers on existing threads
to avoid running down the thread message pool.
Specifically for nvmx, rather than create a thread per replica,
we'd now be able to share threads on each core per replica.

Signed-off-by: Tiago Castro <tiagolobocastro@gmail.com>
@tiagolobocastro tiagolobocastro force-pushed the poller-th branch 6 times, most recently from 26d8daf to c34c74b Compare March 2, 2026 20:58
This should be done in a better way, but for now this will
allow us to merge this.
Probably we should commit a Cargo.lock here.

Signed-off-by: Tiago Castro <tiagolobocastro@gmail.com>
@tiagolobocastro tiagolobocastro merged commit f28243f into release/2.9 Mar 6, 2026
7 checks passed
mergify bot added a commit that referenced this pull request Mar 10, 2026
feat: allow running a poller on custom thread (backport #98)
@tiagolobocastro tiagolobocastro deleted the poller-th branch April 2, 2026 13:47
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.

3 participants