Skip to content

fix: Faster implementation of work queue#2887

Merged
godexsoft merged 12 commits intoXRPLF:developfrom
godexsoft:bugfix/workqueue-faster
Jan 13, 2026
Merged

fix: Faster implementation of work queue#2887
godexsoft merged 12 commits intoXRPLF:developfrom
godexsoft:bugfix/workqueue-faster

Conversation

@godexsoft
Copy link
Collaborator

The new work queue implementation seems to be too slow because of its dispatcher component.
According to micro benchmark, this implementation appears to be nearly as fast as the original that did not support priorities.

@codecov
Copy link

codecov bot commented Jan 7, 2026

Codecov Report

❌ Patch coverage is 95.12195% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 81.87%. Comparing base (e733fad) to head (95e8f78).
⚠️ Report is 2 commits behind head on develop.

Files with missing lines Patch % Lines
src/rpc/WorkQueue.cpp 97.14% 0 Missing and 1 partial ⚠️
src/rpc/WorkQueue.hpp 83.33% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #2887   +/-   ##
========================================
  Coverage    81.86%   81.87%           
========================================
  Files          382      382           
  Lines        14506    14490   -16     
  Branches      7960     7948   -12     
========================================
- Hits         11876    11863   -13     
  Misses        1451     1451           
+ Partials      1179     1176    -3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@godexsoft godexsoft marked this pull request as ready for review January 9, 2026 16:45
mathbunnyru
mathbunnyru previously approved these changes Jan 12, 2026
@kuznetsss
Copy link
Collaborator

kuznetsss commented Jan 12, 2026

[ RUN      ] WorkQueueDeathTest.ExecuteTaskAssertsWhenQueueIsEmpty
[       OK ] WorkQueueDeathTest.ExecuteTaskAssertsWhenQueueIsEmpty (124036 ms)

124 seconds for 1 test with codecov :rage1:

kuznetsss
kuznetsss previously approved these changes Jan 12, 2026
@godexsoft
Copy link
Collaborator Author

godexsoft commented Jan 12, 2026

[ RUN      ] WorkQueueDeathTest.ExecuteTaskAssertsWhenQueueIsEmpty
[       OK ] WorkQueueDeathTest.ExecuteTaskAssertsWhenQueueIsEmpty (124036 ms)

124 seconds for 1 test with codecov :rage1:

That's so painful.. but i don't see a better way to implement this test since AssertMock failed us 😢

Should we consider to disable the test until better times? perhaps it's not important enough to waste 124 seconds every CI run.. we know the ASSERT will work.

@kuznetsss
Copy link
Collaborator

AssertMock failed us

It's WorkQueue's design, not AssertMock.

We could disable this test and create an issue to fix it later.

@godexsoft godexsoft dismissed stale reviews from kuznetsss and mathbunnyru via e653c51 January 12, 2026 16:57
@godexsoft godexsoft requested a review from kuznetsss January 12, 2026 18:18
@godexsoft godexsoft merged commit c6be761 into XRPLF:develop Jan 13, 2026
28 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.

3 participants