500 error on query by index without index name

Bug #1347683 reported by Andrii Ostapenko
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MagnetoDB
Fix Released
Medium
Illia Khudoshyn

Bug Description

2014-07-23 13:15:43,301 Request: POST http://192.168.122.100:8480/v1/caeb5609ba0942f3b6e12d1f67e7dab3/data/tables/testtempest1804161487/query
2014-07-23 13:15:43,301 Request Headers: {'Content-Type': 'application/json', 'Accept': 'application/json', 'X-Auth-Token': '<Token omitted>'}
2014-07-23 13:15:43,301 Request Body: {"key_conditions": {"inumber": {"attribute_value_list": [{"N": "1"}], "comparison_operator": "EQ"}, "hash_attr": {"attribute_value_list": [{"S": "1"}], "comparison_operator": "EQ"}}}
2014-07-23 13:15:43,321 Response Status: 500
2014-07-23 13:15:43,321 Response Headers: {'date': 'Wed, 23 Jul 2014 13:15:43 GMT', 'content-length': '219', 'content-type': 'application/json', 'connection': 'close, close'}
2014-07-23 13:15:43,322 Response Body: {"explanation": "The server has either erred or is incapable of performing the requested operation.", "code": 500, "error": {"message": "", "traceback": null, "type": "AssertionError"}, "title": "Internal Server Error"}
}}}

On server side:

  File "/opt/stack/magnetodb/magnetodb/common/middleware/fault.py", line 118, in process_request
    return req.get_response(self.application)
  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send
    application, catch_exc_info=False)
  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
    return resp(environ, start_response)
  File "/opt/stack/python-keystoneclient/keystoneclient/middleware/auth_token.py", line 632, in __call__
    return self.app(env, start_response)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
    return self.func(req, *args, **kwargs)
  File "/opt/stack/magnetodb/magnetodb/common/wsgi.py", line 64, in __call__
    response = req.get_response(self.application)
  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send
    application, catch_exc_info=False)
  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
    return resp(environ, start_response)
  File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__
    response = self.app(environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
    return resp(environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
    return self.func(req, *args, **kwargs)
  File "/opt/stack/magnetodb/magnetodb/common/wsgi.py", line 247, in __call__
    action_result = self.execute_action(action, request, **action_args)
  File "/opt/stack/magnetodb/magnetodb/common/wsgi.py", line 261, in execute_action
    return self.dispatch(self.controller, action, request, **action_args)
  File "/opt/stack/magnetodb/magnetodb/common/wsgi.py", line 270, in dispatch
    return method(*args, **kwargs)
  File "/opt/stack/magnetodb/magnetodb/api/openstack/v1/query.py", line 150, in query
    exclusive_start_key=exclusive_start_key_attributes
  File "/opt/stack/magnetodb/magnetodb/storage/__init__.py", line 318, in select_item
    limit, exclusive_start_key, consistent, order_type
  File "/opt/stack/magnetodb/magnetodb/storage/manager/simple_impl.py", line 355, in select_item
    index_name, limit, exclusive_start_key, consistent, order_type
  File "/opt/stack/magnetodb/magnetodb/storage/driver/cassandra/cassandra_impl.py", line 1324, in select_item
    assert not indexed_condition_map_copy

Tags: data-api ux
Changed in magnetodb:
milestone: none → kilo-1
importance: Undecided → Medium
Changed in magnetodb:
status: New → Confirmed
Changed in magnetodb:
status: Confirmed → Triaged
tags: added: data-api ux
Changed in magnetodb:
assignee: nobody → Illia Khudoshyn (ikhudoshyn)
Revision history for this message
Illia Khudoshyn (ikhudoshyn) wrote :
Changed in magnetodb:
status: Triaged → Fix Committed
Changed in magnetodb:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.