[Zope-dev] How would I keep _v_* attributes from getting thrown away?

John D. Heintz jheintz@isogen.com
Mon, 22 Jan 2001 17:12:10 -0600


Thanks for the warning Dieter,

but I'm managing threads/connections/sessions/POAs and a few other 
things already to expose ZODB objects through CORBA sessions.

I wanted the _v_* attributes to live for the life of the DB Connections.

Last night I found a fix for the bug that prevented me from overriding 
the _p_deactivate() method on Persistent objects, so I think that I will 
just do this:

class ...
def _p_deactivate(self):
temp_position = self._v_position
Persistent._p_deactivate(self)
self._v_position = temp_position


Thanks for the help though.

John

Dieter Maurer wrote:

> John D. Heintz writes:
>  > I am using ZODB along with CORBA to expose peristent objects.  Some of 
>  > my objects have per-connection/session state.
>  > ...
>  > My initial idea is to have a _v_position attribute ...
> Using "_v_" attributes for session state is a very bad idea.
> They are thread(!) local and not session local.
> This means, if a following request of your user (in the same session)
> happens to get assigned a different thread, it will read
> and update a different position. Chaos is garanteed (though you
> will see it only, if your site is loaded).
> 
> Use a session product (-> zope.org) for session data.
> 
> 
> Dieter
> 
> _______________________________________________
> Zope-Dev maillist  -  Zope-Dev@zope.org
> http://lists.zope.org/mailman/listinfo/zope-dev
> **  No cross posts or HTML encoding!  **
> (Related lists - 
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope )



-- 
. . . . . . . . . . . . . . . . . . . . . . . .

John D. Heintz | Senior Engineer

1016 La Posada Dr. | Suite 240 | Austin TX 78752
T 512.633.1198 | jheintz@isogen.com

w w w . d a t a c h a n n e l . c o m