aws / aws/aws-xray-sdk-python

Upgrade coverage to 5.x

Open
#196 11 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
338
Forks
147
PR merge metrics
No merged PRs in 30d

Description

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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.