deepset-ai / deepset-ai/haystack-core-integrations

Add async API support for ibm_db Integration

Open
#3,971 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
203
Forks
332
Avg merge
2d 4h
Merged PRs (30d)
80

Description

Summary

The IBM Db2 Haystack integration currently only supports synchronous
pipeline execution. This issue tracks adding full async support using
the AsyncConnection and AsyncCursor APIs introduced in ibm_db 3.3.0,
so the integration can participate in await pipeline.run_async(...) calls.

Motivation

Haystack's Pipeline now exposes run_async() / run_async_generator().
Components that implement async def run_async(...) can participate in
async pipeline execution. The IBM Db2 integration is currently sync-only,
which blocks users who want to run Db2-backed pipelines asynchronously
alongside other async components.

ibm_db 3.3.0 (released) introduces a native asyncio API
(AsyncConnection, AsyncCursor) that wraps synchronous IBM CLI calls
in asyncio.to_thread(), making it possible to add async support without
any additional runtime dependencies beyond Python's standard asyncio.

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.

Research direction

Start by reading the existing IBM Db2 integration's synchronous execution path and the ibm_db 3.3.0 AsyncConnection and AsyncCursor APIs. Trace how Haystack's run_async() and run_async_generator() dispatch to components. Done means the integration supports asynchronous pipeline execution using the new APIs, with coverage for both async entry points.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
databases
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.