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

offline-transactions interruption oracle fails when a random sample misses a landing

Fechada
#2,142 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Um pull request relacionado já foi integrado.

  • #2144 de @KyleAMathews — integrado

Avaliação

Dificuldade
3/5
Tempo estimado
Meio dia
Facilidade para iniciantes
62/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
typescript
Domínio
testing

Direção de pesquisa

Start with packages/offline-transactions/tests/interruption-settlement-oracle.property.test.ts, where the failing assertion compares the landings reached by a random sample with the full landing list. Run the test several times to reproduce the intermittent failure. Done means the coverage check no longer depends on random sampling (either fixed named histories per landing, or moved to the fixed-seed campaign), and the random law check still runs and passes repeatedly.

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

Descrição

Summary

packages/offline-transactions/tests/interruption-settlement-oracle.property.test.ts fails at random. The failing check asserts that the random histories cover every interruption landing. It is not a behavior check. When a run draws no history that reaches a refused landing, the test fails.

Failure

The test "keeps settlement and ownership for an interruption at any microtask turn" fails with:

AssertionError: interruption landings: expected [ 'dispose issued', …(5) ] to deeply equal [ 'dispose issued', …(7) ]
-   "dispose refused",
-   "leadership refused",

It failed CI on #2128, which does not change offline-transactions. CI ran it because it tests the pull request merged with main. On main (cd92156d6), 1 of 3 local runs failed the same way.

Cause

The check compares the landings that one random sample reached with the full set of landings. A sample of config.runs histories does not always reach every landing, especially the refused ones. Any run that misses one fails, even when every history it does run satisfies the law.

Suggested fix

  • Prove coverage with fixed, named histories (one per landing), not with a random sample.
  • Or move the coverage check to the fixed-seed campaign only, where the sample is deterministic.
  • Keep the random campaign for the settlement and ownership law itself.
Linguagem predominante
TypeScript
Estrelas
3.9k
Forks
272
Merge médio
1d 21min
PRs com merge (30d)
241

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 TanStack/db

Todas as issues de TanStack/db

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

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