Chunked round-trip over DuckDB relations: intermittent deadlock in duckdb-python under thread churn
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
- Domínio
- data-engineering, databases
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
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de xqlsystems/xarray-sql
-
documentation
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 85/100
xqlsystems/xarray-sql#268 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 64/100
xqlsystems/xarray-sql#267 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 74/100
xqlsystems/xarray-sql#243 ·
Mantenedores costumam responder em até 1 dia
-
publish.yml: the TestPyPI verification step is unreachable (and installs the wrong package name)Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
xqlsystems/xarray-sql#242 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
xqlsystems/xarray-sql#237 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de xqlsystems/xarray-sql
Issues semelhantes
-
wr.dynamodb.read_items returns [{}] for a single partition value that does not existTalvez já em andamento @auraseb assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
aws/aws-sdk-pandas#3520 ·
Mantenedores costumam responder em até 2 dias
-
requires triage typing
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
sqlalchemy/sqlalchemy#13704 ·
Mantenedores costumam responder em até 1 dia
-
Edit tool converts CRLF files to LFTalvez já em andamento @RaphaelFakhri assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
huggingface/tau#774 ·
Mantenedores costumam responder em até 1 dia
-
show ignores the row limit when a column or table name contains "limit"Talvez já em andamento @RaphaelFakhri assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
Mantenedores costumam responder em até 1 dia
-
What happened to `check.py`?Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
linebender/resvg#1179 · 1 comentário ·
Mantenedores costumam responder em até 2 dias