Skip to content

test(taskmill): add integration tests and criterion benchmarks#21

Merged
deepjoy merged 1 commit into
mainfrom
integration-test
Mar 14, 2026
Merged

test(taskmill): add integration tests and criterion benchmarks#21
deepjoy merged 1 commit into
mainfrom
integration-test

Conversation

@deepjoy
Copy link
Copy Markdown
Owner

@deepjoy deepjoy commented Mar 14, 2026

Add 15 integration tests covering priority ordering, retry lifecycle, preemption+resume, backpressure gating, group concurrency, run loop, max concurrency enforcement, fail-fast children, crash recovery, batch submit, IO metrics tracking, and snapshot diagnostics.

Add 7 criterion benchmark groups (12 individual benchmarks) measuring submit throughput, dedup performance, dispatch+complete throughput, peek_next scaling, concurrency scaling, batch submit, and mixed priority dispatch.

Fix two bugs discovered during testing:

  • GroupLimits used tokio::sync::RwLock with blocking_read/write which panics in async contexts; switched to std::sync::RwLock
  • Store migrations were not idempotent (ALTER TABLE ADD COLUMN fails on re-open); now ignores "duplicate column name" errors

Add 15 integration tests covering priority ordering, retry lifecycle,
preemption+resume, backpressure gating, group concurrency, run loop,
max concurrency enforcement, fail-fast children, crash recovery, batch
submit, IO metrics tracking, and snapshot diagnostics.

Add 7 criterion benchmark groups (12 individual benchmarks) measuring
submit throughput, dedup performance, dispatch+complete throughput,
peek_next scaling, concurrency scaling, batch submit, and mixed
priority dispatch.

Fix two bugs discovered during testing:
- GroupLimits used tokio::sync::RwLock with blocking_read/write which
  panics in async contexts; switched to std::sync::RwLock
- Store migrations were not idempotent (ALTER TABLE ADD COLUMN fails on
  re-open); now ignores "duplicate column name" errors
@deepjoy deepjoy enabled auto-merge (squash) March 14, 2026 13:00
@deepjoy deepjoy merged commit e6f1a2f into main Mar 14, 2026
1 check passed
@github-actions github-actions Bot mentioned this pull request Mar 14, 2026
deepjoy pushed a commit that referenced this pull request Mar 14, 2026
## 🤖 New release

* `taskmill`: 0.3.0 -> 0.3.1 (✓ API compatible changes)

<details><summary><i><b>Changelog</b></i></summary><p>

<blockquote>

## [0.3.1](v0.3.0...v0.3.1)
- 2026-03-14

### Fixed

- scheduler performance and correctness improvements
([#24](#24))
- *(taskmill)* atomic parent resolution and weak scheduler reference in
TaskContext ([#22](#22))

### Other

- *(taskmill)* split large modules into focused submodules and optimize
completion hot path ([#25](#25))
- *(taskmill)* add integration tests and criterion benchmarks
([#21](#21))
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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