Scope._transaction not cleared when span is set to None
Mantenedores costumam responder em até 1 dia
@Hashim1999164 já está trabalhando nisso.
Desde 3/10/2026.
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
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
- Sem Dockerfile nem arquivo Docker Compose
- Tem um 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 getsentry/sentry-python
-
Improvement Python Spans
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
getsentry/sentry-python#7876 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Bug Python
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
getsentry/sentry-python#7870 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Docs Python
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
getsentry/sentry-python#7568 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Python Tests
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
getsentry/sentry-python#7567 · 1 comentário · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
Python
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
getsentry/sentry-python#6992 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de getsentry/sentry-python
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 3 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
modelcontextprotocol/python-sdk#3648 ·
Mantenedores costumam responder em até 1 dia
-
docs good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
VenetoStato/giorgio#6 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
Mantenedores costumam responder em até 1 dia
-
Claiming namespace ddalusAberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 70/100
EclipseFdn/open-vsx.org#13831 ·
Mantenedores costumam responder em até 1 dia