2014-04-16 08:29:09,237 Request: POST http://127.0.0.1:8480/v1/default_tenant/data/batch_write_item
2014-04-16 08:29:09,237 Request Headers: {'Content-Type': 'application/json', 'Accept': 'application/json'}
2014-04-16 08:29:09,237 Request Body: {"request_items": {"testtempest944638255": [{"put_request": {"item": {"message": {"B": "/Q=="}, "forum": {"B": "/w=="}, "subject": {"B": "/g=="}}}}]}}
2014-04-16 08:29:09,257 Response Status: 500
2014-04-16 08:29:09,257 Response Headers: {'date': 'Wed, 16 Apr 2014 08:29:09 GMT', 'content-length': '292', 'content-type': 'application/json'}
2014-04-16 08:29:09,257 Response Body: {"explanation": "The server has either erred or is incapable of performing the requested operation.", "code": 500, "error": {"message": "'utf8' codec can't decode byte 0xfd in position 0: invalid start byte", "traceback": null, "type": "UnicodeDecodeError"}, "title": "Internal Server Error"}
On server side:
2014-04-16 08:29:09.239 3736 DEBUG routes.middleware [-] Matched POST /v1/default_tenant/data/batch_write_item __call__ /usr/local/lib/python2.7/dist-packages/routes/middleware.py:100
2014-04-16 08:29:09.240 3736 DEBUG routes.middleware [-] Route path: '/v1/{project_id}/data/batch_write_item', defaults: {'action': u'process_request', 'controller': <magnetodb.common.wsgi.Resource object at 0x1d76e10>} __call__ /usr/local/lib/python2.7/dist-packages/routes/middleware.py:102
2014-04-16 08:29:09.240 3736 DEBUG routes.middleware [-] Match dict: {'action': u'process_request', 'controller': <magnetodb.common.wsgi.Resource object at 0x1d76e10>, 'project_id': u'default_tenant'} __call__ /usr/local/lib/python2.7/dist-packages/routes/middleware.py:103
2014-04-16 08:29:09.252 3736 ERROR magnetodb.common.middleware.fault [-] 'utf8' codec can't decode byte 0xfd in position 0: invalid start byte
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault Traceback (most recent call last):
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/opt/stack/magnetodb/magnetodb/common/middleware/fault.py", line 115, in process_request
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault return req.get_response(self.application)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault application, catch_exc_info=False)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault app_iter = application(self.environ, start_response)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault resp = self.call_func(req, *args, **self.kwargs)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault return self.func(req, *args, **kwargs)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/opt/stack/magnetodb/magnetodb/common/wsgi.py", line 50, in __call__
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault response = req.get_response(self.application)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault application, catch_exc_info=False)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault app_iter = application(self.environ, start_response)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault return resp(environ, start_response)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/usr/local/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault response = self.app(environ, start_response)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault return resp(environ, start_response)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault resp = self.call_func(req, *args, **self.kwargs)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault return self.func(req, *args, **kwargs)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/opt/stack/magnetodb/magnetodb/common/wsgi.py", line 233, in __call__
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault action_result = self.execute_action(action, request, **action_args)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/opt/stack/magnetodb/magnetodb/common/wsgi.py", line 247, in execute_action
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault return self.dispatch(self.controller, action, request, **action_args)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/opt/stack/magnetodb/magnetodb/common/wsgi.py", line 256, in dispatch
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault return method(*args, **kwargs)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/opt/stack/magnetodb/magnetodb/api/openstack/v1/batch_write_item.py", line 99, in process_request
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault req.context, request_list)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/opt/stack/magnetodb/magnetodb/storage/__init__.py", line 138, in execute_write_batch
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault return __STORAGE_IMPL.execute_write_batch(context, write_request_list)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/opt/stack/magnetodb/magnetodb/storage/impl/cassandra_impl.py", line 1317, in execute_write_batch
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault self.put_item(context, req)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/opt/stack/magnetodb/magnetodb/storage/impl/cassandra_impl.py", line 948, in put_item
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault table_info, put_request.attribute_map
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/opt/stack/magnetodb/magnetodb/storage/impl/cassandra_impl.py", line 581, in _append_insert_query
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault _encode_dynamic_attr_value(val)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/opt/stack/magnetodb/magnetodb/storage/impl/cassandra_impl.py", line 129, in _encode_dynamic_attr_value
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault return "0x{}".format(binascii.hexlify(json.dumps(val)))
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/usr/lib/python2.7/json/__init__.py", line 231, in dumps
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault return _default_encoder.encode(obj)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault File "/usr/lib/python2.7/json/encoder.py", line 195, in encode
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault return encode_basestring_ascii(o)
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault UnicodeDecodeError: 'utf8' codec can't decode byte 0xfd in position 0: invalid start byte
2014-04-16 08:29:09.252 3736 TRACE magnetodb.common.middleware.fault
Fix proposed to branch: master /review. openstack. org/94826
Review: https:/