I think I have a fix to MiddleObject.py at:
My modified code is marked # 2002-08-21.
I looked at the CVS version and there does not seem to be a lock where I put
one, although there are other places it could go, I suppose.
At any rate I was able to reproduce the problem with the old code on fresh
boots on 3 of 10 tries. With my test code, I did have some different
symptoms with 4 of 4 accesses failing twice and 3 of 4 failing with the first
succeeding once. The problem did not occur with the new code after 40 tries.
Also, my first description was inaccurate in that the key to the problem is
that several requests for the same SQL TABLE (which has not been accessed
before) must come at the same time. I had mentioned ROW before.
On Wednesday 21 August 2002 09:32 am, Geoffrey Talvola wrote:
> Give Webware from the tip of CVS a try. From perusing the CVS tree, it
> looks like many optimizations and improvements have been made to MiddleKit
> between 0.7 and now.
> I can't say for sure that your problem has been fixed, but it's worth a
> try. And in any case, any attempt to fix the problem should start with the
> most up-to-date version of MiddleKit.
> I hope I'm wrong, but unfortunately I suspect that MiddleKit still needs
> some further work in order to be fully thread-safe. In that case, you may
> be able to work around thread-safety issues by using your own
> threading.RLock objects in strategic places.
> - Geoff