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

Scope._transaction not cleared when span is set to None

Fechada Para iniciantes
#7,774 3 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

@Hashim1999164 já está trabalhando nisso.

Desde 3/10/2026.

  • #7773 de @thegunslingers — fechado sem integrar
  • #7846 de @Hashim1999164 — aberto

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
76/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
python
Domínio
observability

Direção de pesquisa

Comece pelo setter de Scope.span e rastreie como as atribuições de Transaction e None atualizam _transaction; em seguida, inspecione os testes de Scope próximos para verificar o comportamento de cópia de contexto e de saída da transação descrito aqui. Adicione um teste de regressão mostrando que definir span como None limpa a transação, enquanto atribuir um span filho não o faz, e execute a suíte de testes de Scope relevante.

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

Descrição

Bug Python
How do you use Sentry?

Sentry Saas (sentry.io)

Version

2.68.1

Steps to Reproduce

Start a top-level transaction via OpenAIIntegration (or any path that sets scope.span to a Transaction).
Nest work that restores scope.span to None when the transaction finishes (normal with / start_transaction exit).
Later, on the same Scope (same thread, or a worker that got the Scope via copy_context()), capture an unrelated error with no active transaction.

Expected Result

After scope.span = None, scope._transaction is cleared so later errors are not attributed to the finished transaction (culprit / transaction name should not stick).

sentry-sdk 2.68.1 (deps: certifi, urllib3>=1.26.11)

Actual Result

Scope.span’s setter sets _transaction when given a Transaction, but does not clear _transaction when span is None. Stale _transaction remains; unrelated errors inherit the old transaction name (e.g. responses gpt-5.6-luna) as culprit even when the stack has nothing to do with that LLM call.

Clearing on every non-Transaction would be wrong: child spans set scope.span = self while a transaction is still live. The fix clears _transaction only when span is None.

Linguagem predominante
Python
Estrelas
2.2k
Forks
680
Merge médio
1d 4h
PRs com merge (30d)
247

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 getsentry/sentry-python

Todas as issues de getsentry/sentry-python

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.