Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Non-positive worker counts wait for results without starting workers

Open Beginner friendly
#817 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@IlyaKhalafi is already working on this.

Since Oct 14, 2026.

  • #818 by @IlyaKhalafi — open

Assessment

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

Research direction

Start with the ParallelWorkerPool constructor in fastembed/parallel_processor.py, where num_workers is stored and queues are allocated. Add a check that raises ValueError for zero or negative values before any queue or process is created. Run the reproduction from the issue with num_workers=0 and -1 and confirm it fails immediately. Public parallel=0 must still resolve to a positive pool size.

Written by the indexing model from the issue text.

Description

ParallelWorkerPool accepts zero or negative worker counts and then waits for results with no worker processes. With the default timeout, a non-empty input can wait ten minutes before raising queue.Empty.

Reproduced on main at f48af32 with Python on Linux.

from fastembed.parallel_processor import ParallelWorkerPool, Worker

pool = ParallelWorkerPool(0, Worker)
list(pool.ordered_map([1]))

The same happens with num_workers=-1. I reproduced both cases with a shortened timeout of 0.02 seconds to avoid the ten-minute wait. No worker process was created. The normal timeout is 600 seconds.

Public embedding calls with negative parallel can reach this path when the input is large enough to use workers. A pool should reject non-positive worker counts immediately with ValueError, before allocating queues. Public parallel=0 continues to mean automatic CPU selection and resolves to a positive pool size.

Dominant language
Python
Stars
3.2k
Forks
276
Avg merge
13h 15m
Merged PRs (30d)
57

Getting set up

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 qdrant/fastembed

All issues in qdrant/fastembed

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.