airbytehq / airbytehq/airbyte-python-cdk

AsyncRetriever cannot be used in DynamicSchemaLoader - parameter name mismatch

Abierto
#766 9 comentarios 0 reacciones 0 asignados Ver en GitHub
airbyte-python-cdk airbyte-python-cdk/low-code area/connector-builder bug community
Lenguaje dominante
Python
Estrellas
26
Forks
53
Merge medio
2 d 6 h
PR fusionados (30 d)
10

Descripción

## 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` passes `partition_router=...` when creating the retriever
- **Line 837**: `_create_component_from_model` passes kwargs through unchanged
- **Line 3465**: `create_async_retriever` expects `stream_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:
```yaml
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)

---
**Internal Tracking:** https://github.com/airbytehq/oncall/issues/11848

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.