Skip to content

[Feature Request] Add retry with exponential backoff for failed requests #1177

@Harshitazz

Description

@Harshitazz

Problem

Currently, when a request to Qdrant fails (e.g., due to network issues or timeouts), the client does not retry automatically.

This can cause instability in production pipelines, especially during large-scale data ingestion or when using Qdrant in RAG systems.

Proposed Solution

Introduce an optional retry mechanism with exponential backoff:

  • Configurable number of retries (default: 3)
  • Backoff strategy (e.g., exponential with jitter)
  • Retry only for transient errors (timeouts, connection issues)

Example:
client = QdrantClient(
url="...",
retry_config={
"max_retries": 3,
"backoff_factor": 0.5
}
)

Why this is useful

  • Improves robustness in production environments
  • Reduces need for users to implement custom retry logic
  • Especially useful for batch uploads and embedding pipelines

Alternatives considered

  • Users implementing their own retry logic externally (less convenient and inconsistent)

Additional context

I’d be happy to work on implementing this feature if it aligns with the project direction.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions