Comment 4 for bug 1197186

Revision history for this message
Martin Pitt (pitti) wrote :

For a dupe signature with just \ I get the exact same trace as in https://oops.canonical.com/oops/?oopsid=OOPS-e54efa27e6bd107118b6af850ac4dc5d.

However, with some more UTF-8 fun I get a different one:

  DuplicateSignature: foo!☺-'\"&ab

yields

  File "/usr/lib/python2.7/dist-packages/tastypie/resources.py", line 217, in wrapper
    response = callback(request, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/tastypie/resources.py", line 459, in dispatch_list
    return self.dispatch('list', request, **kwargs)
  File "/srv/errors.staging.ubuntu.com/devel/errors/errors/metrics.py", line 40, in wrapper
    result = view(*args, **kwargs)
  File "/srv/errors.staging.ubuntu.com/devel/errors/errors/api/resources.py", line 94, in dispatch
    return Resource.dispatch(self, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/tastypie/resources.py", line 491, in dispatch
    response = method(request, **kwargs)
  File "/usr/lib/python2.7/dist-packages/tastypie/resources.py", line 1357, in post_list
    updated_bundle = self.obj_create(bundle, **self.remove_api_resource_names(kwargs))
  File "/srv/errors.staging.ubuntu.com/devel/errors/errors/api/resources.py", line 345, in obj_create
    metadata = cassandra.get_metadata_for_bucket(bucket)
  File "/srv/errors.staging.ubuntu.com/devel/errors/errors/cassandra.py", line 309, in get_metadata_for_bucket
    return bucketmetadata_cf.get(bucketid, column_finish='~')
  File "/usr/lib/pymodules/python2.7/pycassa/columnfamily.py", line 652, in get
    read_consistency_level or self.read_consistency_level)
  File "/usr/lib/pymodules/python2.7/pycassa/pool.py", line 589, in execute
    return getattr(conn, f)(*args, **kwargs)
  File "/usr/lib/pymodules/python2.7/pycassa/pool.py", line 125, in new_f
    result = f(self, *args, **kwargs)
  File "/usr/lib/pymodules/python2.7/pycassa/cassandra/Cassandra.py", line 579, in get_slice
    self.send_get_slice(key, column_parent, predicate, consistency_level)
  File "/usr/lib/pymodules/python2.7/pycassa/cassandra/Cassandra.py", line 589, in send_get_slice
    args.write(self._oprot)
  File "/usr/lib/pymodules/python2.7/pycassa/cassandra/Cassandra.py", line 3322, in write
    oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
UnicodeEncodeError: 'ascii' codec can't encode character u'\u263a' in position 4: ordinal not in range(128)

We should fix both issues.