﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	launchpad_bug
3847	There is much duplication of process for choosing an encoding for Eliot messages	exarkun	GitHub <noreply@…>	"* src/allmydata/test/__init__.py chooses AnyBytes
* src/allmydata/test/eliotutil.py chooses AnyBytes on Python 3
* src/allmydata/test/test_eliotutil.py chooses AnyBytes
* src/allmydata/util/eliotutil.py chooses AnyBytes for real use
* src/allmydata/util/eliotutil.py chooses AnyBytes on Python 3 for test use

Unfortunately AnyBytes(JSONEncoder) is not compatible with the default (EliotJSONEncoder) so wherever the choice is made inconsistently (esp between production code and the test suite) there is the opportunity for behavior skew.

Additionally, the default encoder fails for some inputs on Python 2.

AnyBytesJSONEncoder should just be used everywhere.  I believe it was not used everywhere because Eliot 1.7 (the last supporting Python 2.x) did not expose the necessary pieces as parameters and so it is hard to do so.
"	defect	closed	normal	undecided	unknown	n/a	fixed			
