- Notifications
You must be signed in to change notification settings - Fork126
Telemetry circuit breaker#658
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:main
Are you sure you want to change the base?
Uh oh!
There was an error while loading.Please reload this page.
Conversation
Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
Thanks for your contribution! To satisfy the DCO policy in ourcontributing guide every commit message must include a sign-off message. One or more of your commits is missing this message. You can reword previous commit messages with an interactive rebase ( |
This reverts commita5f46eb.Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
293aeaa to1b713bdCompareSigned-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
jprakash-db commentedJul 30, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Just confused on why is there even a need for circuit breaker, isn't just handling a good retry mechanism with proper retry behaviour on |
The retry behaviour is per request, while the circuit breaker works across requests. So if a certain number of requests fail, for a time interval, no request will be sent to the server. |
| ##Requirements | ||
| Python 3.8 or above is required. | ||
| Python 3.9 or above is required. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
@jprakash-db are we ok with python version upgrades?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
This should be ok, given DBT tests pass.
src/databricks/sql/common/http.py Outdated
| try: | ||
| returnself.circuit_breaker.call(self.session.post,url,**kwargs) | ||
| exceptCircuitBreakerErrorase: | ||
| logger.error("Circuit breaker error: %s",e) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
let's keep all logs pretty much silent for telemetry. use trace instead.
Uh oh!
There was an error while loading.Please reload this page.
What type of PR is this?
Description
Circuit breaker in telemetry to prevent server-side overloading using the PyBreaker library
How is this tested?
Related Tickets & Documents
PECOBLR-711