[Zope] Error on simultaneous updates/requests

Sean whysean at softhome.net
Sun Jan 4 23:47:14 EST 2004


Dieter,

Thank you for your response.

>It is *very* unlikely that this error has anything to do with
>concurrent access...

>It is almost unbelievable that the problem disappears for the
>same request...

However, repeatable experimentation does seem to demonstrate this to be the
case. If I run a script repeating the same request every few seconds, and
saving the results, I get an error when (and only when) I post data from
another computer. The post works successfully, but the indicated error is a
result of the request just after the time of the post. All requests before
and after that time return successfully.

>I see only one (potential) explanation:
>
>  * Python 2.1's "getattr" catches all exceptions (when called with
>   an optional default argument) (while it should only catch
>    "AttributeError"). This may transform "ConflictError"
>    to "missing docstring".
>
>    In this case, the affected object would define its
>    docstring itself. This is very rare: usually, the
>    docstring is defined by the class and not the object...

I do not understand this.

I am not using "getattr" in my code. Do you mean that Zserver is using
getattr to check for a docstring, and is catching a "conflictError" and then
throwing a "missing docstring"? If so, would you have any idea where in the
Zope code this might be happening?

How can an object define its own docstring separately from its class
definition? I suppose that there may be some way to set this at run time,
but I certainly have not written any code to do so. How does this relate to
the "getattr" issue?

--
Sean




More information about the Zope mailing list