Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
2a18e16
Default to close on downstream response before body finish
drcaramelsyrup Dec 27, 2025
5d5e296
Bumping version to 0.7.0
gdavidsson Jan 2, 2026
d73dbc1
Ensure idle_timeout is polled even if idle_timeout is unset so notify…
andrewhavck Jan 1, 2026
5ed2398
Fix doc of HttpServerOptions.h2c
stepancheg Nov 8, 2025
ea06201
Add simple read test for invalid extra char in header end
drcaramelsyrup Dec 31, 2025
f85ed26
Allow customizing lock status on Custom NoCacheReasons
drcaramelsyrup Nov 19, 2025
eaa775c
Close h1 conn by default if req header unfinished
drcaramelsyrup Jan 8, 2026
9305be0
fix visibility lint
gumpt Jan 8, 2026
d8b36a2
deflake test by increasing write size
gumpt Jan 8, 2026
3efb678
Resyncing bleeper
Noah-Kennedy Jan 16, 2026
07051b5
Add configurable retries for upgrade sock connect/accept
drcaramelsyrup Jan 8, 2026
94e697b
Fix flakes in connector mocks
drcaramelsyrup Jan 8, 2026
c2c718b
Make the version restrictions on rmp and rmp-serde more strict to pre…
johnhurt Jan 9, 2026
949f808
Fix transfer fd compile error for non linux os
andrewhavck Jan 9, 2026
796775f
Year 2026
andrewhavck Jan 10, 2026
87b4781
Restore downstream custom reader
Jan 13, 2026
3718b50
Rewind preread bytes when parsing next H1 response
drcaramelsyrup Dec 24, 2025
dc1db45
Add SSLKEYLOGFILE support to rustls connector
nbarbier-265 Nov 9, 2025
fc69e83
Add epoch and epoch_override to CacheMeta
drcaramelsyrup Jan 13, 2026
07fb5ea
Upgrade lru to >= 0.16.3 crate version because of ~~~-0002
johnhurt Jan 14, 2026
9563115
feat: Add new_mtls for HttpProxy
cachpachios Jan 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .bleep
Original file line number Diff line number Diff line change
@@ -1 +1 @@
bed451a69900aff81befc209090ce68cc61f8c5a
f4e5ae2d44c6e580a5a9a7cc5a80b07c69c95840
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ http = "1"
log = "0.4"
h2 = ">=0.4.11"
once_cell = "1"
lru = "0.14"
lru = "0.16.3"
ahash = ">=0.8.9"

[profile.bench]
Expand Down
2 changes: 1 addition & 1 deletion pingora-boringssl/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "pingora-boringssl"
version = "0.6.0"
version = "0.7.0"
authors = ["Yuchen Wu <yuchen@cloudflare.com>"]
license = "Apache-2.0"
edition = "2021"
Expand Down
2 changes: 1 addition & 1 deletion pingora-boringssl/src/boring_tokio.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2025 Cloudflare, Inc.
// Copyright 2026 Cloudflare, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion pingora-boringssl/src/ext.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2025 Cloudflare, Inc.
// Copyright 2026 Cloudflare, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion pingora-boringssl/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2025 Cloudflare, Inc.
// Copyright 2026 Cloudflare, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down
18 changes: 9 additions & 9 deletions pingora-cache/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "pingora-cache"
version = "0.6.0"
version = "0.7.0"
authors = ["Yuchen Wu <yuchen@cloudflare.com>"]
license = "Apache-2.0"
edition = "2021"
Expand All @@ -18,28 +18,28 @@ name = "pingora_cache"
path = "src/lib.rs"

[dependencies]
pingora-core = { version = "0.6.0", path = "../pingora-core", default-features = false }
pingora-error = { version = "0.6.0", path = "../pingora-error" }
pingora-header-serde = { version = "0.6.0", path = "../pingora-header-serde" }
pingora-http = { version = "0.6.0", path = "../pingora-http" }
pingora-lru = { version = "0.6.0", path = "../pingora-lru" }
pingora-timeout = { version = "0.6.0", path = "../pingora-timeout" }
pingora-core = { version = "0.7.0", path = "../pingora-core", default-features = false }
pingora-error = { version = "0.7.0", path = "../pingora-error" }
pingora-header-serde = { version = "0.7.0", path = "../pingora-header-serde" }
pingora-http = { version = "0.7.0", path = "../pingora-http" }
pingora-lru = { version = "0.7.0", path = "../pingora-lru" }
pingora-timeout = { version = "0.7.0", path = "../pingora-timeout" }
bstr = { workspace = true }
http = { workspace = true }
indexmap = "1"
once_cell = { workspace = true }
regex = "1"
blake2 = "0.10"
serde = { version = "1.0", features = ["derive"] }
rmp-serde = "1"
rmp-serde = "1.3.0"
bytes = { workspace = true }
httpdate = "1.0.2"
log = { workspace = true }
async-trait = { workspace = true }
parking_lot = "0.12"
cf-rustracing = "1.0"
cf-rustracing-jaeger = "1.0"
rmp = "0.8"
rmp = "0.8.14"
tokio = { workspace = true }
lru = { workspace = true }
ahash = { workspace = true }
Expand Down
2 changes: 1 addition & 1 deletion pingora-cache/benches/lru_memory.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2025 Cloudflare, Inc.
// Copyright 2026 Cloudflare, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion pingora-cache/benches/lru_serde.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2025 Cloudflare, Inc.
// Copyright 2026 Cloudflare, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion pingora-cache/benches/simple_lru_memory.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2025 Cloudflare, Inc.
// Copyright 2026 Cloudflare, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion pingora-cache/src/cache_control.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2025 Cloudflare, Inc.
// Copyright 2026 Cloudflare, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion pingora-cache/src/eviction/lru.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2025 Cloudflare, Inc.
// Copyright 2026 Cloudflare, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion pingora-cache/src/eviction/mod.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2025 Cloudflare, Inc.
// Copyright 2026 Cloudflare, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion pingora-cache/src/eviction/simple_lru.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2025 Cloudflare, Inc.
// Copyright 2026 Cloudflare, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion pingora-cache/src/filters.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2025 Cloudflare, Inc.
// Copyright 2026 Cloudflare, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion pingora-cache/src/hashtable.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2025 Cloudflare, Inc.
// Copyright 2026 Cloudflare, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion pingora-cache/src/key.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2025 Cloudflare, Inc.
// Copyright 2026 Cloudflare, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down
5 changes: 2 additions & 3 deletions pingora-cache/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2025 Cloudflare, Inc.
// Copyright 2026 Cloudflare, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -398,8 +398,7 @@ impl HttpCache {
OriginNotCache | ResponseTooLarge | PredictedResponseTooLarge => {
LockStatus::GiveUp
}
// not sure which LockStatus make sense, we treat it as GiveUp for now
Custom(_) => LockStatus::GiveUp,
Custom(reason) => lock_ctx.cache_lock.custom_lock_status(reason),
// should never happen, NeverEnabled shouldn't hold a lock
NeverEnabled => panic!("NeverEnabled holds a write lock"),
CacheLockGiveUp | CacheLockTimeout => {
Expand Down
9 changes: 8 additions & 1 deletion pingora-cache/src/lock.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2025 Cloudflare, Inc.
// Copyright 2026 Cloudflare, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -45,6 +45,13 @@ pub trait CacheKeyLock {
let tag_value: &'static str = lock_status.into();
span.set_tag(|| Tag::new("status", tag_value));
}

/// Set a lock status for a custom `NoCacheReason`.
fn custom_lock_status(&self, _custom_no_cache: &'static str) -> LockStatus {
// treat custom no cache reasons as GiveUp by default
// (like OriginNotCache)
LockStatus::GiveUp
}
}

const N_SHARDS: usize = 16;
Expand Down
2 changes: 1 addition & 1 deletion pingora-cache/src/max_file_size.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2025 Cloudflare, Inc.
// Copyright 2026 Cloudflare, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion pingora-cache/src/memory.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2025 Cloudflare, Inc.
// Copyright 2026 Cloudflare, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down
Loading