Skip to content

AsyncRetriever cannot be used in DynamicSchemaLoader - parameter name mismatch #766

Closed

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 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

Activity

  1. ian-at-airbyte commented on Oct 17, 2025

    @ian-at-airbyte

    Blocking issue for this contribution: airbytehq/airbyte#66221

  2. bakerbryce commented on Mar 16, 2026

    @bakerbryce

    Ian Alton (@ian-at-airbyte) Any update or an ETA on when this bug might be reviewed and considered for a fix?

  3. ian-at-airbyte commented on Mar 16, 2026

    @ian-at-airbyte

    This one isn't prioritized yet, Bryce. I'll raise it in the next planning session and see if it can be accommodated.

  4. bakerbryce commented on Mar 31, 2026

    @bakerbryce

    This one isn't prioritized yet, Bryce. I'll raise it in the next planning session and see if it can be accommodated.

    Ian Alton (@ian-at-airbyte) Checking in again. Any hint on a potential ETA by chance?

  5. ian-at-airbyte commented on Apr 1, 2026

    @ian-at-airbyte

    Not this month. Sorry. The list of prioritized issues just became too long. Haven't forgotten about it though. Is it fair to say this is blocking a contribution contribution for you too?

  6. devin-ai-integration commented on Apr 1, 2026

    @devin-ai-integration
    Contributor

    Hi Allan Delmare (@allandelmare), thank you for reporting this issue and for the thorough root cause analysis!

    I've confirmed the bug in the current codebase. The parameter name mismatch is clear:

    • create_dynamic_schema_loader (line 2573) passes partition_router=... when constructing the retriever
    • create_simple_retriever (line 3278) accepts partition_router as a keyword argument — so SimpleRetriever works fine in DynamicSchemaLoader
    • create_async_retriever (line 3722) expects stream_slicer as a required keyword argument — causing the TypeError when partition_router is passed instead

    This has been escalated to the internal team for prioritization.


    Need more help? Join Airbyte Community Slack for peer support, or if you're a Cloud customer, open a support ticket referencing this URL.

  7. devin-ai-integration commented on Apr 1, 2026

    @devin-ai-integration
    Contributor

    This issue is being tracked internally: https://github.com/airbytehq/oncall/issues/11848

  8. ian-at-airbyte commented on Apr 1, 2026

    @ian-at-airbyte

    Actually scratch that. The AI likes this one and has high confidence in its fix. Let's see how it does.

  9. bakerbryce commented on Apr 1, 2026

    @bakerbryce

    Not this month. Sorry. The list of prioritized issues just became too long. Haven't forgotten about it though. Is it fair to say this is blocking a contribution contribution for you too?

    Ian Alton (@ian-at-airbyte) Blocking adoption of Airbyte in totality for this particular client actually. This is the #1 most critical source system for any non-profits that use Blackbaud. Without it the other platforms don’t have very little to hook into.

    Very glad to hear we have some progress!

    Allan Delmare (@allandelmare) thanks again for all the work you put into this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions