Thanks Mike, that helped me eliminate the problem, even though I still
haven't figured out why it was happening.

iain

On Mon, Dec 19, 2011 at 1:36 PM, Michael Bayer <[email protected]>wrote:

>
> On Dec 19, 2011, at 3:30 PM, Iain Duncan wrote:
>
> Ok, I know this is my fault but maybe someone can help me know what kind
> of error I'm producing here, in saving a user, I'm getting the following
> expection, but only occasionally ( like 10% of the time? )
>
> 15:13:18,160 INFO [xornot.dram.views] EditAction.post() Exception from
> self.update: Can't attach instance <Group at 0xb660d6c>; another instance
> with key (<class 'xornot.auth.model.group.Group'>, (3L,)) is already
> present in this session.
>
>
>
> "10% of the time" sounds like a race condition, but this doesn't appear to
> be concurrent code, so then maybe something that occurs based on the
> current shape of the data (like two #3's somewhere, type of thing)..
>
> Do you have something that's creating new Group objects if one does not
> exist already ?   You're basically looking to have only one Group(id=3) in
> the Session at one time.
>
>
>
>
> I suspect it as to do with this code which tries to add the everyone group
> to everyone before update:
>
> def pre_update_hook(self):
>   log.info("UserActionMixing.pre_update_hook()")
>   # users can never be removed from the Everyone group
>   everyone = self.model.get_by(Group, name='Everyone')
>   admin = self.model.get_by(Group, name='Admin')
>   if everyone not in self.valid_values['groups']:
>     self.valid_values['groups'].append(everyone)
>
> It's a long shot, but does the above info give anyone any idea what kind
> of thing I might be doing wrong and how to track down something like this?
>
> thanks
> Iain
>
> --
> You received this message because you are subscribed to the Google Groups
> "sqlalchemy" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/sqlalchemy?hl=en.
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "sqlalchemy" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/sqlalchemy?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to