aws / aws/aws-xray-sdk-python

Upgrade coverage to 5.x

Abierto
#196 11 comentarios 0 reacciones 0 asignados Ver en GitHub
bug
Lenguaje dominante
Python
Estrellas
339
Forks
147
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Upgrading Coverage to 5.x breaks Travis CI and causes the following exception to occur at the end of the test:
```
No handlers could be found for logger "aws_xray_sdk.core.context"
Traceback (most recent call last):
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/bin/coverage", line 8, in
sys.exit(main())
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/cmdline.py", line 824, in main
status = CoverageScript().command_line(argv)
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/cmdline.py", line 555, in command_line
return self.do_run(options, args)
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/cmdline.py", line 710, in do_run
self.coverage.save()
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/control.py", line 613, in save
data = self.get_data()
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/control.py", line 667, in get_data
if self._collector and self._collector.flush_data():
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/collector.py", line 429, in flush_data
self.covdata.add_lines(self.mapped_file_dict(self.data))
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/sqldata.py", line 436, in add_lines
self._choose_lines_or_arcs(lines=True)
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/sqldata.py", line 493, in _choose_lines_or_arcs
with self._connect() as con:
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/sqldata.py", line 298, in _connect
self._create_db()
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/sqldata.py", line 247, in _create_db
with db:
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/sqldata.py", line 1008, in __enter__
self._connect()
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/sqldata.py", line 996, in _connect
self.execute("pragma journal_mode=off").close()
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/sqldata.py", line 1025, in execute
return self.con.execute(sql, parameters)
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/aws_xray_sdk/ext/sqlite3/patch.py", line 32, in execute
return self.cursor().execute(*args, **kwargs)
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/aws_xray_sdk/core/models/subsegment.py", line 58, in __call__
meta_processor=None,
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/aws_xray_sdk/core/recorder.py", line 417, in record_subsegment
subsegment = self.begin_subsegment(name, namespace)
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/aws_xray_sdk/core/recorder.py", line 284, in begin_subsegment
segment = self.current_segment()
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/aws_xray_sdk/core/recorder.py", line 267, in current_segment
entity = self.get_trace_entity()
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/aws_xray_sdk/core/recorder.py", line 369, in get_trace_entity
return self.context.get_trace_entity()
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/aws_xray_sdk/core/context.py", line 93, in get_trace_entity
return self.handle_context_missing()
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/aws_xray_sdk/core/context.py", line 118, in handle_context_missing
raise SegmentNotFoundException(MISSING_SEGMENT_MSG)
aws_xray_sdk.core.exceptions.exceptions.SegmentNotFoundException: cannot find the current segment/subsegment, please make sure you have a segment open
```

We will downgrade to 4.5.4 for now but will investigate what was introduced in 5.x that's causing the exception to occur.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza reproduciendo la prueba de tox/Travis con Coverage 5.x e inspecciona aws_xray_sdk/ext/sqlite3/patch.py junto con el traceback que pasa por aws_xray_sdk/core/models/subsegment.py y aws_xray_sdk/core/recorder.py. Compara el comportamiento con Coverage 4.5.4; el trabajo estará terminado cuando la prueba se complete correctamente en Coverage 5.x sin la SegmentNotFoundException.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
ci-cd, testing
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
30/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.