Re: Snapshot problems - Solved, sort of
Re: Snapshot problems - Solved, sort of
- Subject: Re: Snapshot problems - Solved, sort of
- From: Mike Schrag <email@hidden>
- Date: Sun, 22 Apr 2007 00:25:45 -0400
poor, poor, pathetic job that EOF does of keeping track of the snapshots
Not a fair characterization, but then you've had a rough week :) Are other people on the list creating EOs without inserting them into an editing context?
Terrible idea. You will regret doing this. Are other people using nested editing contexts?
Yes. If not, how do you keep things from getting stuck in the database half finished all over the place? Tons of local variables? And if so, is no one else seeing these kinds of ridiculous corrupted snapshot problems?
You can try switching to peer editing contexts (i.e. just make new editing contexts as you need them). I mostly use these rather than nested editing contexts. Obviously it depends on your problem set as to whether that will work out for you, but it might be enough of a change to make your problems go away. I finally found a workaround that works, taken from a post in like 2002. In Application's constructor, I call
EODatabase.disableSnapshotRefCounting();
This is basically a TERRIBLE idea, though it's potentially very useful to know this solves your problem ... I'll have to think about what this actually means in the context of your problem, though. The only thing that sucks worse is an application that breaks randomly and unpredictably
It will still, just with an OutOfMemoryError instead. Is there some workaround to the workaround? That is, is there some way to periodically tell EODatabase to clean itself up so that it doesn't waste so much memory? Are people just scheduling monitor to restart their applications periodically?
I've been using WO for a couple years now and I've never had the problems you're seeing except when I've screwed up. This leads me to believe that although it's possible you've found a terrible EOF bug, it's more likely that there's still something subtly wrong in your code. This is, I know, not a consolation at all, but EOF is actually really good at what it does and it's been around for a really long time doing it.
ms |
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden