• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Exception in saveChanges(): rowDiffsForAttributes - snapshot does not contain value
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Exception in saveChanges(): rowDiffsForAttributes - snapshot does not contain value


  • Subject: Re: Exception in saveChanges(): rowDiffsForAttributes - snapshot does not contain value
  • From: Chuck Hill <email@hidden>
  • Date: Thu, 22 Feb 2007 09:01:23 -0800


On Feb 22, 2007, at 7:51 AM, Mike Schrag wrote:

I don't know that I am seeing snapshots invalidated. When this happens, I can log out editingContext().committedSnapshotForObject (eo) and see that the values are not null. But the snapshot that the EODatabaseOperation gets is empty. At this point I am only guessing at how that might be happening.
committedSnapshotForObject returns the EO's clone of the EODatabaseContext snapshot, I think, so definitely if things aren't locked exactly right you can end up with a race condition where EODatabaseContext clears its snapshot but the notifications haven't gone out to everyone to clear theirs. I'm also not exactly sure of the behavior of an EO invalidation with respect to eo.__originalSnapshot(). I don't know if that actually hangs around or not (meaning, maybe that's actually expected behavior when an EO has been invalidated? I've just never tested that particular case).


I am really not sure what is going on. My original theory seems wrong. I created a test case with two threads, one that created and updated and refreshed the object and one that just kept refreshing it. I just could not reproduce the error.


One other thing I tried in the app was to catch the IllegalStateException and just Thread.sleep(250) instead of invalidating the eo. This did not fix it, it just went into an infinite loop. It seems that once this happens, only invalidating the object can recover from it.

Chuck


--

Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.
http://www.global-village.net/products/practical_webobjects






_______________________________________________
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


References: 
 >Exception in saveChanges(): rowDiffsForAttributes - snapshot does not contain value (From: Chuck Hill <email@hidden>)
 >Re: Exception in saveChanges(): rowDiffsForAttributes - snapshot does not contain value (From: Chuck Hill <email@hidden>)
 >Re: Exception in saveChanges(): rowDiffsForAttributes - snapshot does not contain value (From: Mike Schrag <email@hidden>)
 >Re: Exception in saveChanges(): rowDiffsForAttributes - snapshot does not contain value (From: Chuck Hill <email@hidden>)
 >Re: Exception in saveChanges(): rowDiffsForAttributes - snapshot does not contain value (From: Mike Schrag <email@hidden>)

  • Prev by Date: Is there an easy way
  • Next by Date: Re: Is there an easy way
  • Previous by thread: Re: Exception in saveChanges(): rowDiffsForAttributes - snapshot does not contain value
  • Next by thread: Re: Exception in saveChanges(): rowDiffsForAttributes - snapshot does not contain value
  • Index(es):
    • Date
    • Thread