This changes the Sentry field from the DSN string to the entire ClientOptions
struct. This will let us pass more information to the client SDK, including the
git-parsed version information.
---
test: add test for upstream health observe
---
renamed the function and added doc to make it intelligible
---
fix clippy error
---
Merge branch 'main' into main
---
test: fix test for backend do update
Co-authored-by: Tree Xie <tree.xie@outlook.com>
Includes-commit: 1421c26756
Includes-commit: 695d549014
Includes-commit: 6a09b52c5e
Includes-commit: 72d6ee09ae
Includes-commit: e6c2af0e77
Includes-commit: fb62869583
Replicated-from: https://github.com/cloudflare/pingora/pull/325
There could be a race condition where a Stale request waiting on cache
lock retries the cache lock and lookup, but enters cache_miss after
finding the asset is no longer present.
Before this change, the retry only happens on reused connections. The
shutting down could also happen on new connections as well. So this
change will retry in both cases.
Sometimes service dicovery can carry arbitrary information, such as
SNI and request path to instrument how to connect to backend servers.
Backend now support to carry this type of information.
This allows user defined L4 connect() to be used so that they can
customize the connect behavior such as changing socket options and
simulating errors in tests.
This PR updates the function signatures in the `ext.rs` file to use `*mut` instead of `*const` for the `ssl` and `cert` parameters in the `SSL_use_certificate` and `SSL_use_PrivateKey` functions. This indicates that the functions can modify the SSL and certificate objects as intended.
Ref:
- https://www.openssl.org/docs/man1.1.1/man3/SSL_use_certificate.htmlhttps://boringssl.googlesource.com/boringssl/+/refs/tags/~~~/ssl/ssl_cert.cc#292
Refactor the `cvt` function to use `c_long` instead of `c_int` for the return type for better compatibility with the types used in the OpenSSL library.
Also, add a test case for the `ssl_set_groups_list` function to ensure it handles valid and invalid input correctly.
---
chore(openssl):fix increase X509 reference count
Includes-commit: 7841271b4a
Includes-commit: e132431889
Replicated-from: https://github.com/cloudflare/pingora/pull/308
Although it is implied that fail_to_connect() errors are already caused
by upstream connections, it is more clear for the user's code inside this callback
by marking the error source in this case.
I started fidgeting with another one of the tests breaking because of the
estimator not being deterministic, and then decided to do this another way.
This adds `seeded` and `seeded_compact` constructors to the estimator which are
used in tests to override the LFU. These are hidden behind `cfg(test)`. The
`random_status` field of the UFO object is also overridden with the same seeds
as used for the seeded LFU.
These make the tests pass consistently without requiring further monkeying.
Now UDS can be parsed from string with prefix "unix:". The raw path
support will be deprecated.
From https://github.com/cloudflare/pingora/pull/141
Co-authored-by: blackanger <blackanger.z@gmail.com>