Skip to content

Commit 41b8585

Browse files
authored
fix(connector-builder): add flag to disable cache (#45095)
1 parent 52744ec commit 41b8585

File tree

3 files changed

+8
-1
lines changed

3 files changed

+8
-1
lines changed

airbyte-cdk/python/airbyte_cdk/connector_builder/connector_builder_handler.py

+1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ def create_source(config: Mapping[str, Any], limits: TestReadLimits) -> Manifest
5050
limit_pages_fetched_per_slice=limits.max_pages_per_slice,
5151
limit_slices_fetched=limits.max_slices,
5252
disable_retries=True,
53+
disable_cache=True,
5354
),
5455
)
5556

airbyte-cdk/python/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -159,13 +159,15 @@ def __init__(
159159
limit_slices_fetched: Optional[int] = None,
160160
emit_connector_builder_messages: bool = False,
161161
disable_retries: bool = False,
162+
disable_cache: bool = False,
162163
message_repository: Optional[MessageRepository] = None,
163164
):
164165
self._init_mappings()
165166
self._limit_pages_fetched_per_slice = limit_pages_fetched_per_slice
166167
self._limit_slices_fetched = limit_slices_fetched
167168
self._emit_connector_builder_messages = emit_connector_builder_messages
168169
self._disable_retries = disable_retries
170+
self._disable_cache = disable_cache
169171
self._message_repository = message_repository or InMemoryMessageRepository( # type: ignore
170172
self._evaluate_log_level(emit_connector_builder_messages)
171173
)
@@ -825,6 +827,8 @@ def create_http_requester(self, model: HttpRequesterModel, decoder: Decoder, con
825827
assert model.use_cache is not None # for mypy
826828
assert model.http_method is not None # for mypy
827829

830+
use_cache = model.use_cache and not self._disable_cache
831+
828832
return HttpRequester(
829833
name=name,
830834
url_base=model.url_base,
@@ -837,7 +841,7 @@ def create_http_requester(self, model: HttpRequesterModel, decoder: Decoder, con
837841
disable_retries=self._disable_retries,
838842
parameters=model.parameters or {},
839843
message_repository=self._message_repository,
840-
use_cache=model.use_cache,
844+
use_cache=use_cache,
841845
decoder=decoder,
842846
stream_response=decoder.is_stream_response() if decoder else False,
843847
)
@@ -1199,6 +1203,7 @@ def _create_message_repository_substream_wrapper(self, model: ParentStreamConfig
11991203
limit_slices_fetched=self._limit_slices_fetched,
12001204
emit_connector_builder_messages=self._emit_connector_builder_messages,
12011205
disable_retries=self._disable_retries,
1206+
disable_cache=self._disable_cache,
12021207
message_repository=LogAppenderMessageRepositoryDecorator(
12031208
{"airbyte_cdk": {"stream": {"is_substream": True}}, "http": {"is_auxiliary": True}},
12041209
self._message_repository,

airbyte-cdk/python/unit_tests/connector_builder/test_connector_builder_handler.py

+1
Original file line numberDiff line numberDiff line change
@@ -709,6 +709,7 @@ def test_create_source():
709709
assert isinstance(source, ManifestDeclarativeSource)
710710
assert source._constructor._limit_pages_fetched_per_slice == limits.max_pages_per_slice
711711
assert source._constructor._limit_slices_fetched == limits.max_slices
712+
assert source._constructor._disable_cache
712713

713714

714715
def request_log_message(request: dict) -> AirbyteMessage:

0 commit comments

Comments
 (0)