CQ status sending doesn't deal with unicode correctly. |
|||
Issue description
cq-status Error rate is too high: 26 errors for 259 requests (10%) within the last 424 seconds.
Found 26 errors: Transient error: 'ascii' codec can't encode character u'\u2026' in position 540: ordinal not in range(128)
File "/opt/infra-system/lib/python2.7/threading.py", line 774, in __bootstrap
self.__bootstrap_inner()
File "/opt/infra-system/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/opt/infra-system/lib/python2.7/threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "/opt/cq-stable/infra_internal/infra_internal/services/cq/async_push.py", line 492, in _work
self._safe_process_batch(batch)
File "/opt/cq-stable/infra_internal/infra_internal/services/cq/errors.py", line 217, in wrapper
return func(obj, *args, **kwargs), None
File "/opt/infra-system/lib/python2.7/contextlib.py", line 35, in __exit__
self.gen.throw(type, value, traceback)
File "/opt/cq-stable/infra_internal/infra_internal/services/cq/errors.py", line 176, in track_exceptions
self.stacktrace = (''.join(traceback.format_stack()) +
Traceback (most recent call last):
File "/opt/cq-stable/infra_internal/infra_internal/services/cq/errors.py", line 173, in track_exceptions
yield ctx
File "/opt/cq-stable/infra_internal/infra_internal/services/cq/errors.py", line 217, in wrapper
return func(obj, *args, **kwargs), None
File "/opt/cq-stable/infra_internal/infra_internal/services/cq/async_push.py", line 521, in _safe_process_batch
return self._process_batch(batch)
File "/opt/cq-stable/infra_internal/ENV/lib/python2.7/site-packages/infra/libs/decorators/decorators.py", line 89, in wrapper
return f(*args, **kwargs)
File "/opt/cq-stable/infra_internal/infra_internal/services/cq/async_push.py", line 458, in _send_batch_to_cq_status
data = [('p', json.dumps(packet.to_dict())) for packet in batch_items]
File "/opt/cq-stable/infra_internal/infra_internal/services/cq/async_push.py", line 163, in to_dict
'fields': self._sanitize_fields(self._fields),
File "/opt/cq-stable/infra_internal/infra_internal/services/cq/async_push.py", line 183, in _sanitize_fields
return {k: self._sanitize_fields(v) for k, v in fields.iteritems()}
File "/opt/cq-stable/infra_internal/infra_internal/services/cq/async_push.py", line 183, in <dictcomp>
return {k: self._sanitize_fields(v) for k, v in fields.iteritems()}
File "/opt/cq-stable/infra_internal/infra_internal/services/cq/async_push.py", line 187, in _sanitize_fields
return str(fields)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2026' in position 540: ordinal not in range(128)
,
Jul 9
Test + fix https://chrome-internal-review.googlesource.com/c/infra/infra_internal/+/649914
,
Jul 9
The following revision refers to this bug: https://chrome-internal.googlesource.com/infra/infra_internal/+/f9bf7397a9274784e0ce34b72a36be1687c864e9 commit f9bf7397a9274784e0ce34b72a36be1687c864e9 Author: Andrii Shyshkalov <tandrii@chromium.org> Date: Mon Jul 09 22:57:10 2018
,
Jul 13
Has been released 3 days ago. |
|||
►
Sign in to add a comment |
|||
Comment 1 by tandrii@chromium.org
, Jul 9Status: Assigned (was: Untriaged)