Re: looong saveChanges in a background task
Re: looong saveChanges in a background task
- Subject: Re: looong saveChanges in a background task
- From: OC <email@hidden>
- Date: Wed, 25 Feb 2015 17:49:20 +0100
Chuck,
On 25. 2. 2015, at 17:39, Chuck Hill <email@hidden> wrote:
> That should not be related. The only two causes of this that I have see are:
> • Implementing awakeFromFetch() and triggering a fetch in that method
Hardly: the only awakeOfFetch of mine just flushes some internal caches.
> • An exception that leaves EOF in a dirty state with the fetch still marked as in progress
Hmmm... this just _might_ happen, for I did get one NPE before; duly catched and reported -- it is in place where imported CSV is processed and exceptions happen sometimes, e.g., when the CSV is malformed. But it is possible that this time the reason was not a malformed CSV, but some mess in EOs instead.
Alas, since exceptions are comparatively common in there, I reported them without the full stack, so I know just the CSV line on which it happened, which does not help much :) Meantime of course I've uploaded a new release which does print full stack -- no need to add that from that time the problem never reappeared :/
But it looks like a comparatively plausible possibility, thanks!
> My advice is to catch the notification and log a stack trace as a first step to tracking this down.
Might add that one, too. Thanks again!
All the best,
OC
> On 2015-02-25, 1:40 AM, "OC" wrote:
>
> Chuck,
>
> On 23. 2. 2015, at 20:01, Chuck Hill <email@hidden> wrote:
> I’d use a different EOF stack but NOT from ERXObjectStoreCoordinatorPool.maxCoordinators which gets shared between requests. You want one that is not shared and is dedicated to the import task.
> For this, just
> EOObjectStoreCoordinator osc = new EOObjectStoreCoordinator();
> ERXEC ec = ERXEC.new(osc); // er something like that just typed this from memory
>
> Hmmm... I did, and my testing went well. From the server though now I'm now getting reports
>
> ===
> A fault was fired while another fetch was in progress and no other channels were available to process the fault. Either make sure not to touch faults while fetching, or register more channels with the EODatabaseContext (perhaps in response to the EODatabaseChannelNeededNotification). Original Exception:N/A
> ===
>
> Does that make any sense? Indeed I am not observing EODatabaseChannelNeededNotification and creating channels on-demand; on the other hand, till now, I have never seen this problem, not even when I used to set ERXObjectStoreCoordinatorPool.maxCoordinators>1.
>
> Might it be related?
>
> Thanks,
> OC
>
>
_______________________________________________
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