durusmail: durus-users: Doubt about object loading
Doubt about object loading
2006-04-23
Re: Doubt about object loading
2006-04-24
2006-04-24
2006-04-24
Doubt about object loading
Jesus Cea
2006-04-23
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I'm keeping studying durus code and I found a strange issue with object
loading.

When an object is first invocated, the object is loaded, but as a ghost
object. That is, the object state is fetched from the storage server,
but durus client only creates a ghost object, throwing the state just
loaded. In fact it only uses the object state to take the class to
instance an empty new object.

This can be easily checked with "durus -c":

$ durus -c
>>>  root._p_status
- -1    <- Ghost!!

If now I access the data, it gets converted to a "saved" object:

>>> root.items()
[]
>>> root._p_status
0     <- SAVED

That would be fine if the durus server were left alone, but requesting
the status of an object already referenced requests *A NEW COPY* of an
state just sent. That is, the client do a new request asking for the
state of the ghost object. I verified it by code inspection and using
truss (similar to linux "strace", but Solaris).

Why is the first fetch only used to create a ghost object instead of a
"entire" saved object?. We are wasting CPU and time doing a second fetch
of the very same data just a bit later...

What am I missing there?.

- --
Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
jcea@argo.es http://www.argo.es/~jcea/ _/_/    _/_/  _/_/    _/_/  _/_/
jabber / xmpp:jcea@jabber.org         _/_/    _/_/          _/_/_/_/_/
                               _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQCVAwUBREr3uplgi5GaxT1NAQLv4QP/SipvcDbrIFJC4i6twck9x/wEewNCGQAl
7ih/k0DL+6rADerNWWoFRSyFToKvWcSQ9ZbxKLUaLXn1W0Qsr/FZ59T9ro1FdBTZ
Zf2ZduqBNRcM+y6G0zhgDIgBC2V7ieQwvp+UX+kHd5A/4WUK31DeCQRaGP6kWsvz
4v9l8MmXgtU=
=njkl
-----END PGP SIGNATURE-----
reply