You have something too large in the session and the datastore refuses to store the session in the database.
On Jun 21, 11:32 pm, NickFranceschina <[email protected]> wrote: > I'm not sure what I'm doing wrong... I've built a JSON service on > top of Web2py that uses Auth.login_bare() to authenticate via > AJAX... my auth_user table looked like this (standard): > > auth.settings.table_user = db.define_table('auth_user', > Field('first_name', length=512,default='', required=True), > Field('last_name', length=512,default='', required=True), > Field('display_name', length=512,default='', required=True), > Field('email', length=512,default='',required=True, > requires = [IS_EMAIL(),IS_NOT_IN_DB(db,'auth_user.email')]), > Field('password', 'password', readable=False, required=True, > label='Password', > requires=CRYPT(auth.settings.hmac_key)), > Field('registration_key', length=512, > writable=True, readable=True,default=''), > Field('reset_password_key', length=512, > writable=False, readable=False, default=''), > ) > > but then I added this field to the auth_user table: > > Field('photo', 'upload') > > and now it blows up on GAE at the moment it tries to do this (inside > of login_bare): > > session.auth = Storage(user=user, > last_visit=request.now, > > expiration=self.settings.expiration) > > with this error message: > > 'Traceback (most recent call last):\n File "C:\\SVNs\\T4H\\Buttrcup\ > \www\\gluon\\main.py", line 391, in wsgibase\n > session._try_store_in_db(request, response)\n File "C:\\SVNs\\T4H\ > \Buttrcup\\www\\gluon\\globals.py", line 356, in _try_store_in_db\n > table._db(table.id == record_id).update(**dd)\n File "C:\\SVNs\\T4H\ > \Buttrcup\\www\\gluon\\contrib\\gql.py", line 744, in update\n > item.put()\n File "C:\\Program Files (x86)\\Google\\google_appengine\ > \google\\appengine\\ext\\db\\__init__.py", line 833, in put\n > return datastore.Put(self._entity, rpc=rpc)\n File "C:\\Program Files > (x86)\\Google\\google_appengine\\google\\appengine\\api\ > \datastore.py", line 282, in Put\n \'datastore_v3\', \'Put\', req, > datastore_pb.PutResponse(), rpc)\n File "C:\\Program Files (x86)\ > \Google\\google_appengine\\google\\appengine\\api\\datastore.py", line > 186, in _MakeSyncCall\n rpc.check_success()\n File "C:\\Program > Files (x86)\\Google\\google_appengine\\google\\appengine\\api\ > \apiproxy_stub_map.py", line 474, in check_success\n > self.__rpc.CheckSuccess()\n File "C:\\Program Files (x86)\\Google\ > \google_appengine\\google\\appengine\\api\\apiproxy_rpc.py", line 149, > in _WaitImpl\n self.request, self.response)\n File "C:\\Program > Files (x86)\\Google\\google_appengine\\google\\appengine\\api\ > \datastore_file_stub.py", line 667, in MakeSyncCall\n response)\n > File "C:\\Program Files (x86)\\Google\\google_appengine\\google\ > \appengine\\api\\apiproxy_stub.py", line 75, in MakeSyncCall\n > \'The request to API call %s.%s() was too large.\' % (service, call)) > \nRequestTooLargeError: The request to API call datastore_v3.Put() was > too large.\n' > > I'm using Wing IDE, and can't figure out how to debut through the GAE > server... > > can someone point me in the right direction? I'm going on about 40hrs > of straight development... and I can't think straight anymore... > > Thank you!! > -Nick Franceschina

