-
Notifications
You must be signed in to change notification settings - Fork 30
Open
Description
Description
AsyncRetriever fails when used inside DynamicSchemaLoader for dynamic schema generation, throwing:
TypeError: ModelToComponentFactory.create_async_retriever() missing 1 required keyword-only argument: 'stream_slicer'
Root Cause
In airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py
:
- Line 2556:
create_dynamic_schema_loader
passespartition_router=...
when creating the retriever - Line 837:
_create_component_from_model
passes kwargs through unchanged - Line 3465:
create_async_retriever
expectsstream_slicer
as a required parameter
The parameter names don't match - partition_router
is passed but stream_slicer
is expected.
Steps to Reproduce
Use AsyncRetriever in a DynamicSchemaLoader in a declarative YAML connector:
schema_loader:
type: DynamicSchemaLoader
retriever:
type: AsyncRetriever
# ... AsyncRetriever config
Expected Behavior
AsyncRetriever should work in DynamicSchemaLoader just like SimpleRetriever does.
Suggested Fix
Either:
- Change line 2556 to pass stream_slicer=... instead of partition_router=...
- Or change line 3465 to accept partition_router instead of stream_slicer
Environment
- airbyte-cdk version: [latest ... cloud 7.0.4 ]
- Connector type: Declarative YAML (low-code)
Metadata
Metadata
Assignees
Labels
No labels