AsyncRetriever cannot be used in DynamicSchemaLoader - parameter name mismatch

Open Beginner friendly
#766 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
76/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Quiet
Tech stack
python
Domain
backend

Research direction

Start in airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py at lines 2556, 837, and 3465, then reproduce the declarative YAML configuration using AsyncRetriever inside DynamicSchemaLoader. Trace the keyword arguments and verify that dynamic schema generation completes without the missing stream_slicer TypeError, matching SimpleRetriever behavior.

Written by the indexing model from the issue text.

Description

airbyte-python-cdk airbyte-python-cdk/low-code area/connector-builder bug community

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:

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
Dominant language
Python
Stars
26
Forks
53
Avg merge
5d 12h
Merged PRs (30d)
7

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from airbytehq/airbyte-python-cdk

All issues in airbytehq/airbyte-python-cdk

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.