to be fair, you shouldn't have migration turned on on production. what 
you're seeing is some app trying to store the equivalent of .table files 
inside the db. Only one app should be allowed to do that, not both (i.e. 
only one "frontend").

On Wednesday, October 1, 2014 2:07:58 PM UTC+2, Louis Amon wrote:
>
> I noticed a pretty nasty glitch while scaling my production server today :
>
> The implementation of "close_connection()" in dal.py doesn't work well 
> with multiple dynos in a cloud hosting solution.
>
> Here's the code I have, runnint web2py 2.9.5 :
>
>
> def close_connection(self):
>
>         if self.db is not None:
>
>             self.db.executesql(
>
>                 "DELETE FROM web2py_filesystem WHERE path='%s'" % 
> self.filename)
>
>             query = "INSERT INTO web2py_filesystem(path,content) VALUES 
> ('%s','%s')"\
>
>                 % (self.filename, self.data.replace("'","''"))
>
>             self.db.executesql(query)
>
>             self.db.commit()
>
>             self.db = None
>
>
> I'm getting tons of tickets like this one :
> <class 'psycopg2.IntegrityError'> duplicate key value violates unique 
> constraint "web2py_filesystem_pkey" DETAIL: Key 
> (path)=(applications/*****/databases/f1bf5dc7f74c28ea704f3313ce9b1535_******.table)
>  
> already exists.
>
>
> I think both dynos are trying to do the INSERT operation at the same time, 
> which shouldn't happen.
>
> How can I fix this ? 
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to