Skip to content

MongoDB: error while impersonating user #223

Open
@tomepreneur

Description

@tomepreneur

I have this

    if request.vars.user_id:
        auth.impersonate(request.vars.user_id)

that produces this error:

<type 'exceptions.OverflowError'> MongoDB can only handle up to 8-byte ints

Version

web2py™     Version 2.11.2-stable+timestamp.2015.05.30.16.33.24
Python      Python 2.7.6: /usr/local/bin/uwsgi (prefix: /usr)

Traceback

Traceback (most recent call last):
    File "/home/www/web2py/gluon/restricted.py", line 227, in restricted
        exec ccode in environment
    File "/home/www/web2py/applications/emprega/controllers/default.py", line 1212, in <module>
    File "/home/www/web2py/gluon/globals.py", line 412, in <lambda>
        self._caller = lambda f: f()
    File "/home/www/web2py/applications/emprega/controllers/default.py", line 506, in user
        auth.impersonate(request.vars.user_id)
    File "/home/www/web2py/gluon/tools.py", line 3475, in impersonate
        user_id):
    File "/home/www/web2py/gluon/tools.py", line 3776, in has_permission
        == record_id).select(permission.group_id)
    File "/home/www/web2py/gluon/packages/dal/pydal/objects.py", line 1986, in select
        return adapter.select(self.query,fields,attributes)
    File "/home/www/web2py/gluon/packages/dal/pydal/adapters/mongo.py", line 359, in select
        for record in mongo_list_dicts:
    File "/usr/local/lib/python2.7/dist-packages/pymongo/cursor.py", line 983, in next
        if len(self.__data) or self._refresh():
    File "/usr/local/lib/python2.7/dist-packages/pymongo/cursor.py", line 908, in _refresh
        self.__read_preference))
    File "/usr/local/lib/python2.7/dist-packages/pymongo/cursor.py", line 813, in __send_message
        **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/pymongo/mongo_client.py", line 744, in _send_message_with_response
        exhaust)
    File "/usr/local/lib/python2.7/dist-packages/pymongo/mongo_client.py", line 755, in _reset_on_error
        return func(*args, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/pymongo/server.py", line 85, in send_message_with_response
        set_slave_okay, sock_info.is_mongos)
    File "/usr/local/lib/python2.7/dist-packages/pymongo/message.py", line 107, in get_message
        self.ntoreturn, spec, self.fields, self.codec_options)
OverflowError: MongoDB can only handle up to 8-byte ints

It was working well on the previous version

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions