Repository navigation
chore: upgrade tokio version - #1897
Conversation
aa01f9d to
240b0ce
Compare
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
|
| Project | PgDog |
| Branch | meskill-2026-10-26-chore--qtk |
| Testbed | Intel v1 |
Click to view all benchmark results
| Benchmark | Throughput | Benchmark Result operations / second (ops/s) x 1e3 (Result Δ%) | Lower Boundary operations / second (ops/s) x 1e3 (Limit %) | cpu-per-txn | Benchmark Result Measure (units) (Result Δ%) | Upper Boundary Measure (units) (Limit %) |
|---|---|---|---|---|---|---|
| lb-v3 | 📈 view plot 🚷 view threshold | 15.99 ops/s x 1e3(+0.00%)Baseline: 15.99 ops/s x 1e3 | 15.83 ops/s x 1e3 (99.00%) | 📈 view plot 🚷 view threshold | 41.92 units(+0.45%)Baseline: 41.74 units | 42.15 units (99.46%) |
|
Metal bench failed. 1 of 150 measures outside bounds.
Counters per txn
Microbench: all 135 measures within bounds.
Logslb, microbench, pooler, sharding-w2, sharding-w8, verdict.json |
jkaczman
left a comment
There was a problem hiding this comment.
Awesome! it seems the new tokio version also comes with a perf bump :)
also:
'since the safetimeout/safeinterval are not necessary anymore and hangs should not happen'
It doesn't look like this removes any safetimeout/safeinterval, if they're not necessary anymore, should we? Or will that be a follow up PR?
| "libc", | ||
| "once_cell", | ||
| "socket2 0.6.3", | ||
| "socket2 0.5.10", |
There was a problem hiding this comment.
I'm curious why these were bumped downwards
There was a problem hiding this comment.
oh, yeah, interesting, I guess it's partly from the fact that we've been installing 0.5.
I just upgraded the pgdog to 0.6 so we have one version in lock for socket2
| native-tls = "0.2" | ||
| sqlx = { version = "0.8.6", features = ["postgres", "runtime-tokio", "tls-native-tls", "bigdecimal", "chrono", "json", "rust_decimal", "uuid"]} | ||
| tokio = { version = "1", features = ["full"]} | ||
| tokio = { version = "1.54", features = ["full"]} |
There was a problem hiding this comment.
nit: if we're changing it here, probably should also change it in pgdog/Cargo.toml
There was a problem hiding this comment.
haha, right, not the tests Cargo.toml
I moved this to root cargo.toml as workspace dependency
| /// Longest deadline Tokio's timer wheel can address (`64^6` ms, a bit over | ||
| /// two years). A longer timer eventually stops every other timer in the | ||
| /// runtime from firing. |
There was a problem hiding this comment.
Is this comment outdated now?
There was a problem hiding this comment.
yes-yes, I removed this constant and the comment
It should stay - the safe.. wrappers are not only preventing the original issue, but they also check the boundaries like 0 and MAX_DURATION to avoid panics or change the tokio behavior there. So, it mostly to help us not to think about possible edge values that comes from parsed config. And it's just that with the tokio fix it should work fine even if some of the direct tokio calls slips somewhere (no hang, but panic or long timer) |
|
| Project | PgDog |
| Branch | meskill-2026-10-26-chore--qtk |
| Testbed | Intel v1 |
🚨 1 Alert
| Benchmark | Measure Units | View | Benchmark Result (Result Δ%) | Upper Boundary (Limit %) |
|---|---|---|---|---|
| pooler-v3 | cpu-per-txn Measure (units) | 📈 plot 🚷 threshold 🚨 alert (🔔) | 41.05 units(+1.08%)Baseline: 40.61 units | 41.02 units (100.08%) |
Click to view all benchmark results
| Benchmark | Throughput | Benchmark Result operations / second (ops/s) x 1e3 (Result Δ%) | Lower Boundary operations / second (ops/s) x 1e3 (Limit %) | cpu-per-txn | Benchmark Result Measure (units) (Result Δ%) | Upper Boundary Measure (units) (Limit %) |
|---|---|---|---|---|---|---|
| pooler-v3 | 📈 view plot 🚷 view threshold | 16.99 ops/s x 1e3(+0.00%)Baseline: 16.99 ops/s x 1e3 | 16.82 ops/s x 1e3 (99.00%) | 📈 view plot 🚷 view threshold 🚨 view alert (🔔) | 41.05 units(+1.08%)Baseline: 40.61 units | 41.02 units (100.08%) |
Finally tokio has released the new 1.54 version with the fix tokio-rs/tokio#8334.
fixes #1017 since the safetimeout/safeinterval are not necessary anymore and hangs should not happen