Scope._transaction not cleared when span is set to None
Los mantenedores suelen responder en 1 día
@Hashim1999164 ya está trabajando en esto.
Desde el 3/10/2026.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 76/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- python
- Área
- observability
Línea de trabajo
Comienza en el setter de Scope.span y sigue cómo las asignaciones de Transaction y None actualizan _transaction; después inspecciona las pruebas de Scope cercanas para comprobar el comportamiento de copia del contexto y de salida de la transacción descrito aquí. Añade una prueba de regresión que muestre que establecer span en None borra la transacción, mientras que asignar un span hijo no lo hace, y ejecuta la suite de pruebas de Scope pertinente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Python
- Estrellas
- 2.2k
- Forks
- 680
- Merge medio
- 1 d 1 h
- PR fusionados (30 d)
- 258
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de getsentry/sentry-python
-
OpenAI Agents integration emits `PydanticDeprecatedSince20` on tool calls - `_set_output_data` calls `dict()`Posiblemente ocupada @alexander-alderman-webb la tomó hace 1 día. AbiertoBug Python
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
getsentry/sentry-python#7827 · 4 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Remove send_default_pii from asyncpgPosiblemente ocupada @ericapisani la tomó hace 2 días. AbiertoPython Task
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
getsentry/sentry-python#7652 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Python Task
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
getsentry/sentry-python#7569 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Docs Python
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
getsentry/sentry-python#7568 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Python Tests
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
getsentry/sentry-python#7567 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de getsentry/sentry-python
Issues similares
-
Add category README filesAbiertodocumentation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
priority: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
ll7/robot_sf_ll7#10128 ·
Los mantenedores suelen responder en 1 día
-
area: monitoring type: task
Dificultad 1/5 Menos de una hora Aptitud para principiantes 91/100
dkritarth/scopewatch#175 ·
Los mantenedores suelen responder en 1 día
-
Layers of type "3D Unknown" and "3D Measured Unknown" are refused, so FileGDB multipatch layers can't be readPosiblemente ocupada @aidannewsome la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
quantization
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
vllm-project/vllm#59904 ·
Los mantenedores suelen responder en 1 día