Hi Aravindan, I glanced the source code of the web2py https://github.com/web2py/web2py/blob/master/gluon/dal.py#L8078
# class Reference(int): class Reference(long): Presumably the signature of the 'Reference' class changed from Reference(int) to Reference(long). Can you check the signature of the 'Reference' class in the file gluon/dal.py? If you have int version, maybe you can upgrade to the newer version of the web2.py or use the new auto_id_policy option in your app.yaml (top level). auto_id_policy: legacy That said, the auto_id_policy won't live long, so please note that eventually you will likely need to upgrade web2py. Please see also: http://googlecloudplatform.blogspot.jp/2013/05/update-on-datastore-auto-ids.html Please let me know if it works (or not). -- Takashi On Thu, Jun 13, 2013 at 2:32 AM, Aravindan Rs <[email protected]>wrote: > Hi, > > I'm using Google App Engine - with python 2.7 and web2py. My application > suddenly stopped working from yesterday to today. I deployed the > application today (13th June 2013) and I get the error "OverflowError: > Python int too large to convert to C long" when web2py code tries to store > id() from DB entity into a int variable. As web2py DB read/write is central > to my application almost nothing works. > > The last version of application deployed yesterday is working. The same > code deployed today does not work. > > Is the problem related to the change to 1.8.1 where scattered auto id is > the default? > > Are others facing similar issues? Any known solutions? > > Call stack of failure (when web2py tries to write session object into > database): > Traceback (most recent call last): > > File > "/base/data/home/apps/s~**nittio-live/24.**368055561930403768/gluon/main.**py", > line 551, in wsgibase > session._try_store_in_db(**request, response) > File > "/base/data/home/apps/s~**nittio-live/24.**368055561930403768/gluon/**globals.py", > line 728, in _try_store_in_db > record_id = table.insert(**dd) > File > "/base/data/home/apps/s~**nittio-live/24.**368055561930403768/gluon/dal.**py", > line 7806, in insert > ret = self._db._adapter.insert(self,**self._listify(fields)) > File > "/base/data/home/apps/s~**nittio-live/24.**368055561930403768/gluon/dal.**py", > line 4618, in insert > rid = Reference(tmp.key().id()) > OverflowError: Python int too large to convert to C long > > > Thanks and regards, > Aravindan. > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/google-appengine?hl=en. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- Takashi Matsuo | Developers Programs Engineer | [email protected] -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/google-appengine?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
