• 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: Snapshot problems
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Snapshot problems


  • Subject: Re: Snapshot problems
  • From: Chuck Hill <email@hidden>
  • Date: Thu, 19 Apr 2007 12:41:59 -0700


On Apr 19, 2007, at 12:33 PM, Steven Mark McCraw wrote:

Hi Chuck,

Thanks for the response. I'm 99.9% sure that I'm locking properly,

Enable NSLog group DebugGroupMultithreading and be certain.


and the only EOF commandment I might possibly be breaking is the one that says:

"Don't change the behavior of methods that EOF uses. For example, do not override to-many relationships to return a sorted list of the related objects. Make another method to do this."

I'm not overriding to-many relationship methods, but I do sometimes override setters. For example, I might override a particular attribute so that I can make a record of the time that the attribute was changed.

That should be OK as long as you call super.set... so that the original behavior is present.



Moreover, there are places that I override accessors for formatting purposes. An example of this would be overriding a phoneNumber() method to add formatting to the returned string, or overriding a setPhoneNumber method so that it strips formatting off. Are these things problematic?

Yes, they may be. This is what formatters are for.


Chuck


On Apr 19, 2007, at 12:50 PM, Chuck Hill wrote:

This pretty much means one of two things:

1. You are not locking properly
http://en.wikibooks.org/wiki/Programming:WebObjects/EOF/Using_EOF/ Context_and_Database_Locking


2. You are violating EOF commandments
http://en.wikibooks.org/wiki/Programming:WebObjects/EOF/Using_EOF/ The_EOF_Commandments


Chuck


On Apr 19, 2007, at 7:54 AM, Steven Mark McCraw wrote:

Hi all,

I've been seeing a lot of exceptions/warnings in the logs for one of my applications lately, and all seem to have something to do with an unexpected snapshot state. I'm not really sure what causes this, or where to look next. Has anyone seen these before?

The first appears just to be logging from something, and not a full-blown exception:

DEBUG NSLog - decrementSnapshotCountForGlobalID: com.webobjects.eoaccess.EODatabase com.webobjects.eoaccess.EODatabase@7300c2 -- is unable to decrement snapshot count for object with global ID _EOIntegralKeyGlobalID[Media (java.lang.Integer)9755] - count is already 0 or this snapshot doesn't exist


I'm also getting a lot of these, which seem like they might be related somehow:


Error: java.lang.IllegalStateException
Reason: There is no database snapshot available for the object <Disc pk:"76798"> with GlobalID _EOIntegralKeyGlobalID[Disc (java.lang.Integer)76798]
EODatabaseContext.java line 4205 method objectsForSourceGlobalID package com.webobjects.eoaccess
EOObjectStoreCoordinator.java line 682 method objectsForSourceGlobalID package com.webobjects.eocontrol
EOEditingContext.java line 3904 method objectsForSourceGlobalID package com.webobjects.eocontrol
ERXEC.java line 1036 method objectsForSourceGlobalID package er.extensions
EODatabaseContext.java line 4418 method _fireArrayFault package com.webobjects.eoaccess
EOAccessArrayFaultHandler.java line 70 method completeInitializationOfObject package com.webobjects.eoaccess
_EOCheapCopyMutableArray.java line 38 method willRead package com.webobjects.eocontrol
_EOCheapCopyMutableArray.java line 92 method count package com.webobjects.eocontrol
_EOCheapCopyArray.java line 33 method _setArray package com.webobjects.eocontrol
EOAccessArrayFaultHandler.java line 151 method completeInitializationOfObject package com.webobjects.eoaccess
_EOCheapCopyArray.java line 126 method willRead package com.webobjects.eocontrol
_EOCheapCopyArray.java line 95 method objectsNoCopy package com.webobjects.eocontrol
NSArray.java line 393 method <init> package com.webobjects.foundation
NSMutableArray.java line 60 method <init> package com.webobjects.foundation
_NSArrayUtilities.java line 197 method arrayExcludingObjectsFromArray package com.webobjects.foundation
EODatabaseContext.java line 6100 method recordChangesInEditingContext package com.webobjects.eoaccess
EOObjectStoreCoordinator.java line 412 method saveChangesInEditingContext package com.webobjects.eocontrol
EOEditingContext.java line 3165 method saveChanges package com.webobjects.eocontrol
ERXEC.java line 947 method _saveChanges package er.extensions
ERXEC.java line 870 method saveChanges package er.extensions
InventoryItem.java line 427 method successfulChangeSave package InventoryItem
InventoryItem.java line 799 method increaseShelfQuantityBy package InventoryItem
InventoryItem.java line 499 method setShelfQuantity package InventoryItem
NativeMethodAccessorImpl.java line NA method invoke0 package sun.reflect
NativeMethodAccessorImpl.java line 39 method invoke package sun.reflect
DelegatingMethodAccessorImpl.java line 25 method invoke package sun.reflect
Method.java line 324 method invoke package java.lang.reflect
KeyValueCodingProtectedAccessor.java line 65 method setMethodValue package KeyValueCodingProtectedAccessor
NSKeyValueCoding.java line 1175 method setValueInObject package com.webobjects.foundation
NSKeyValueCoding.java line 1205 method setValueInObject package com.webobjects.foundation
EOCustomObject.java line 1601 method takeValueForKey package com.webobjects.eocontrol
NSKeyValueCoding.java line 519 method takeValueForKey package com.webobjects.foundation
NSValidation.java line 733 method validateTakeValueForKeyPath package com.webobjects.foundation
EOCustomObject.java line 1363 method validateTakeValueForKeyPath package com.webobjects.eocontrol
NSValidation.java line 551 method validateTakeValueForKeyPath package com.webobjects.foundation
NSValidation.java line 741 method validateTakeValueForKeyPath package com.webobjects.foundation
WOComponent.java line 1273 method validateTakeValueForKeyPath package com.webobjects.appserver
...


Thanks in Advance,
Mark

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40global-village.net


This email sent to email@hidden


--

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









--

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: 
 >Snapshot problems (From: Steven Mark McCraw <email@hidden>)
 >Re: Snapshot problems (From: Chuck Hill <email@hidden>)
 >Re: Snapshot problems (From: Steven Mark McCraw <email@hidden>)

  • Prev by Date: Re: Snapshot problems
  • Next by Date: Re: Snapshot problems
  • Previous by thread: Re: Snapshot problems
  • Next by thread: Re: Snapshot problems
  • Index(es):
    • Date
    • Thread