Skip to content

Exception when starting with a blank database #201

Description

@sk1p

After starting a blank mongo server, adding a new admin user and logging in, I get the following error:

Traceback (most recent call last):
  File "/home/alex/tmp/pycamp2020/venv/lib/python2.7/site-packages/starflyer/app.py", line 481, in __call__
    response = self.handle_exception(request, e)
  File "/home/alex/tmp/pycamp2020/venv/lib/python2.7/site-packages/starflyer/app.py", line 479, in __call__
    response = self.process_request(request)
  File "/home/alex/tmp/pycamp2020/venv/lib/python2.7/site-packages/starflyer/app.py", line 461, in process_request
    response = self.handle_user_exception(request, e)
  File "/home/alex/tmp/pycamp2020/venv/lib/python2.7/site-packages/starflyer/app.py", line 450, in process_request
    response = handler(**request.view_args)
  File "/home/alex/tmp/pycamp2020/venv/lib/python2.7/site-packages/starflyer/handler.py", line 227, in __call__
    rv = getattr(self, method)(**m)
  File "/home/alex/tmp/pycamp2020/camper/camper/handlers/index.py", line 115, in get
    return super(LoginSuccess, self).get()
  File "/home/alex/tmp/pycamp2020/camper/camper/handlers/index.py", line 48, in get
    own_barcamps = self.config.dbs.barcamps.get_by_user_id(self.user_id, True, True, True)
  File "/home/alex/tmp/pycamp2020/camper/camper/db/barcamp.py", line 851, in get_by_user_id
    result = self.collection.inline_map_reduce(map, reduce)
  File "/home/alex/tmp/pycamp2020/venv/lib/python2.7/site-packages/pymongo/collection.py", line 1907, in inline_map_reduce
    read_concern=self.read_concern)
  File "/home/alex/tmp/pycamp2020/venv/lib/python2.7/site-packages/pymongo/collection.py", line 205, in _command
    read_concern=read_concern)
  File "/home/alex/tmp/pycamp2020/venv/lib/python2.7/site-packages/pymongo/pool.py", line 213, in command
    read_concern)
  File "/home/alex/tmp/pycamp2020/venv/lib/python2.7/site-packages/pymongo/network.py", line 99, in command
    helpers._check_command_response(response_doc, None, allowable_errors)
  File "/home/alex/tmp/pycamp2020/venv/lib/python2.7/site-packages/pymongo/helpers.py", line 196, in _check_command_response
    raise OperationFailure(msg % errmsg, code, response)
OperationFailure: namespace does not exist: mycamper.barcamps

I used the following patch as a workaround, but I'm not sure this is correct:

diff --git a/camper/db/barcamp.py b/camper/db/barcamp.py
index c34024d..44510cf 100644
--- a/camper/db/barcamp.py
+++ b/camper/db/barcamp.py
@@ -848,8 +848,12 @@ class Barcamps(Collection):
             }
         """)
 
-        result = self.collection.inline_map_reduce(map, reduce)
-        ids = [u['_id'] for u in result]
+        try:
+            result = self.collection.inline_map_reduce(map, reduce)
+            ids = [u['_id'] for u in result]
+        except Exception:
+            ids = []
+
         query = {'_id' : {'$in' : ids}}
 
         return self.find(query).sort("end_date", pymongo.DESCENDING)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions