Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Chunked round-trip over DuckDB relations: intermittent deadlock in duckdb-python under thread churn

Aberta
#241 1 comentário 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
15/100
Tipo de issue
Bug
Clareza
Precisa de esclarecimento
Status de atividade
Pouca atividade
Stack de tecnologia
python, sql

Direção de pesquisa

The relevant code is the DuckDBHandle class in xarray_sql/lazyscan.py, where supports_chunked is set to False and the engine thread topology is defined. The root cause sits upstream in duckdb-python's Arrow scan callbacks under thread churn, so reproducing it needs a concurrent test that registers an xarray-sql table and starts or stops Python threads during a chunked query. The issue does not say what a fix should look like, so confirm the intended outcome with maintainers before starting.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

DuckDBHandle.supports_chunked = False disables the lazy (chunks=) round-trip for DuckDB relations. The blocker is upstream: a DuckDB query whose source is a Python-callback Arrow scan (any table registered through xarray-sql) intermittently deadlocks inside duckdb-python/CPython when other Python threads start or stop during execution.

Current state: chunked DuckDB round-trips fail fast instead of hanging; the eager path and every other handle operation run on one dedicated engine thread (the known-safe topology) and are unaffected. See DuckDBHandle in xarray_sql/lazyscan.py.

Linguagem predominante
Python
Estrelas
142
Forks
19
Merge médio
1d 9h
PRs com merge (30d)
9

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de xqlsystems/xarray-sql

Todas as issues de xqlsystems/xarray-sql

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.