apache / apache/iceberg-python

Why non-atomic delete and upsert?

Aberta
#3,577 0 comentários 1 reação 0 responsáveis Ver no GitHub
Linguagem predominante
Python
Estrelas
1.1k
Forks
581
Merge médio
1d 13h
PRs com merge (30d)
76

Descrição

### Question

The implementation of the `delete` and `upsert` operation make an deliberate choice to create multiple snapshots, breaking the atomicity expectation.

For example, if I start a `delete` operation to remove some entries, I do not expect consumers of the data to see a snapshot with some but not all of the entries gone.

Given that the implementation choice looks very deliberate, I'm curious about the rationale for it?

It seems that other clients of the library expect atomic operation as well, for example https://github.com/apache/iceberg-python/issues/3076

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Direção de pesquisa

A issue não menciona arquivos, testes nem pontos de entrada; comece localizando as implementações de delete e upsert no PyIceberg e revisando como elas criam snapshots. Determine se o comportamento observado de múltiplos snapshots é intencional e, em seguida, documente a justificativa ou defina o comportamento atômico necessário antes de fazer uma alteração.

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

Avaliação

Stack de tecnologia
python
Domínio
data-engineering, databases
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Pouca atividade
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

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