WorkerProcess passes None poll intervals to the backend, breaking acquire in the consumer thread
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- python, redis
- Ambito
- backend, databases, testing-qa
Direzione di ricerca
Inizia da tests/test_executor.py:_make_worker() e WorkerProcess.run(), quindi esamina RedisTaskBackend.acquire(), dove vengono utilizzati gli intervalli di polling. Esegui i test pertinenti dell’executor e conferma che il polling predefinito non raggiunga più acquire come None e che il thread consumer termini senza un TypeError non gestito.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Found by testJoe while adding coverage for the fair multi-queue rotation (codingjoe-fair-multi-queue-scheduling), and confirmed pre-existing (untouched by that diff):
defer: WorkerProcess.run() lets None poll overrides reach RedisTaskBackend.acquire, raising TypeError in the consumer thread. Pre-existing, untouched L297. [tests/test_executor.py]
QED
tests/test_executor.py:_make_worker()defaultspoll_intervalandpoll_max_intervaltoNoneand passes them intoWorkerProcess.WorkerProcess.run()assigns them to the backend (backend.poll_interval = self.poll_interval), so the backend's poll options becomeNone.RedisTaskBackend.acquire()computesint(self.poll_max_interval / self.poll_interval), which raisesTypeError: unsupported operand type(s)inside the consumer thread.
The suite only reports PytestUnhandledThreadExceptionWarning, so the failure is invisible today. Either treat None as "keep the backend default" in WorkerProcess, or make the test helper pass the real defaults.
- Lingua principale
- Python
- Stelle
- 12
- Fork
- 1
- Merge medio
- 19h 11m
- PR unite (30g)
- 12
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di codingjoe/threadmill
-
Difficoltà 2/5 Mezza giornata Idoneità per principianti 84/100
codingjoe/threadmill#52 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
codingjoe/threadmill#51 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
codingjoe/threadmill#47 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
codingjoe/threadmill#55 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
codingjoe/threadmill#54 ·
Tutte le issue di codingjoe/threadmill
Issue simili
-
area: harness bug status: needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Human-Agent-Society/reef#625 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
learningequality/kolibri#15351 · 2 commenti ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Name consistency Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
eellak/triplestore#65 · 1 commento ·