File tree Expand file tree Collapse file tree 1 file changed +9
-4
lines changed
airbyte_cdk/sources/declarative/requesters/error_handlers Expand file tree Collapse file tree 1 file changed +9
-4
lines changed Original file line number Diff line number Diff line change @@ -83,11 +83,16 @@ def interpret_response(
83
83
def backoff_strategies (self ) -> Optional [List [BackoffStrategy ]]:
84
84
"""
85
85
Combines backoff strategies from all child error handlers into a single flattened list.
86
- Note: The first non-None strategy in this list becomes the default strategy for ALL retryable errors,
87
- including both user-defined response filters and errors that fall back to DEFAULT_ERROR_MAPPING.
88
- The list structure is currently not used to map different strategies to different error conditions.
89
86
90
- Returns None if no handlers have strategies defined, which will result in the default backoff strategy being used.
87
+ When used with HttpRequester, note the following behavior:
88
+ - In HttpRequester.__post_init__, the entire list of backoff strategies is assigned to the error handler
89
+ - However, the error handler's backoff_time() method only ever uses the first non-None strategy in the list
90
+ - This means that if any backoff strategies are present, the first non-None strategy becomes the default
91
+ - This applies to both user-defined response filters and errors from DEFAULT_ERROR_MAPPING
92
+ - The list structure is not used to map different strategies to different error conditions
93
+ - Therefore, subsequent strategies in the list will not be used
94
+
95
+ Returns None if no handlers have strategies defined, which will result in HttpRequester using its default backoff strategy.
91
96
"""
92
97
all_strategies = []
93
98
for handler in self .error_handlers :
You can’t perform that action at this time.
0 commit comments