- 
                Notifications
    You must be signed in to change notification settings 
- Fork 125
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 our terms of service and privacy 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?
Conversation
Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
| Thanks for your contribution! To satisfy the DCO policy in our   contributing 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 commit a5f46eb. Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
293aeaa    to
    1b713bd      
    Compare
  
    Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
| 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: | ||
| return self.circuit_breaker.call(self.session.post, url, **kwargs) | ||
| except CircuitBreakerError as e: | ||
| 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.
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