Re: IllegalStateException: There is no database snapshot available...
Re: IllegalStateException: There is no database snapshot available...
- Subject: Re: IllegalStateException: There is no database snapshot available...
- From: Chuck Hill <email@hidden>
- Date: Tue, 31 Mar 2009 20:24:46 -0700
On Mar 31, 2009, at 3:04 AM, Michael Schmiedgen wrote:
Hi List,
I got frequent, random, hard-to-reproduce Exceptions if I add and
edit some larger amounts of detail objects im my Master-Detail-
DisplayGroup
without saveChanges() in between. That all takes place in a cascaded
EditingContext.
I don't understand what you mean by "cascaded EditingContext". Do you
mean a Parent and Child editing context?
Objects are inserted via displayGroup.insertNewObjectAtIndex(0).
If I finally try so do a saveChanges() the Exception occurs.
I searched the lists and found only few posts, but they didnt really
help. I try
to follow the 'EOF Commandments' and try to keep my EOModel clean. I
got
this problem for a while now and looked around for solution in many
different
ways, but nothing helped :(
Anyone got some hints what is causing this mess?
Are you creating your own editing contexts? If so, how are you
locking and unlocking them? Are you calling undo() or revert() on the
editing context? Is your application running out of memory?
Chuck
Many thanks in advance. Configuration details listed below.
Cheers
Michael
Configuration of the DisplayGroup:
dgStammdaten = {
class = WODisplayGroup;
dataSource = {
class = EODetailDataSource;
detailKey = stammdatens;
masterClassDescription = StammdatenKonfig;
};
fetchesOnLoad = YES;
formatForLikeQualifier = "%@*";
numberOfObjectsPerBatch = 20;
selectsFirstObjectAfterFetch = NO;
sortOrdering = ({class = EOSortOrdering; key = name; selectorName
= "compareAscending:"; });
};
and on component initialization:
dgStammdaten.setMasterObject(stammdatenKonfig);
Configuration of Entity 'Stammdaten':
{
attributes = (
... some stuff here...
{
columnName = "stammdaten_id";
externalType = int4;
name = stammdatenId;
valueClassName = NSNumber;
valueType = i;
},
{
columnName = "stammdaten_konfig_id";
externalType = int4;
name = stammdatenKonfigId;
valueClassName = NSNumber;
valueType = i;
}
);
attributesUsedForLocking = (stammdatenId);
className = "com.takwa.nap.model.Stammdaten";
classProperties = (beschreibung, code, name, stammdatenKonfig);
externalName = "public.stammdaten";
fetchSpecificationDictionary = {};
name = Stammdaten;
primaryKeyAttributes = (stammdatenId);
relationships = (
{
destination = StammdatenKonfig;
isMandatory = Y;
isToMany = N;
joinSemantic = EOInnerJoin;
joins = (
{
destinationAttribute = stammdatenKonfigId;
sourceAttribute = stammdatenKonfigId;
}
);
name = stammdatenKonfig;
}
);
}
Configuration of Entity 'StammdatenKonfig':
{
attributes = (
{
columnName = "client_id";
externalType = int4;
name = clientId;
valueClassName = NSNumber;
valueType = i;
},
... some stuff here...
{
columnName = "stammdaten_konfig_id";
externalType = int4;
name = stammdatenKonfigId;
valueClassName = NSNumber;
valueType = i;
}
);
attributesUsedForLocking = (stammdatenKonfigId);
className = "com.takwa.nap.model.StammdatenKonfig";
classProperties = (client, internalName, name, stammdatens);
externalName = "public.stammdaten_konfig";
fetchSpecificationDictionary = {};
name = StammdatenKonfig;
primaryKeyAttributes = (stammdatenKonfigId);
relationships = (
{
destination = Client;
isMandatory = Y;
isToMany = N;
joinSemantic = EOInnerJoin;
joins = ({destinationAttribute = clientId;
sourceAttribute = clientId; });
name = client;
},
{
destination = Stammdaten;
isToMany = Y;
joinSemantic = EOInnerJoin;
joins = (
{
destinationAttribute = stammdatenKonfigId;
sourceAttribute = stammdatenKonfigId;
}
);
name = stammdatens;
}
);
}
After some time I get :
java.lang.IllegalStateException: There is no database snapshot
available for the object {values = {internalName =
"groesse_venoeser_zugang"; name = "Größe venöser Zugang";
stammdatens = (
"<com.takwa.nap.model.Stammdaten aca5a0 <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 44 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten 3e9d4d <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 45 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten 5b5baa <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 46 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten 9a453b <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 47 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten 154dd5 <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 48 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten 6b2543 <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 49 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten 671313 <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 50 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten abef26 <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 51 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten e9e7b5 <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 52 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten adc143 <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 53 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten a8f212 <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 54 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten d92b68 <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 55 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten f48fbd <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 56 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten 6b2c9f <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 57 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten 42a4b5 <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 58 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten bc0fb7 <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 59 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten f2599c <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 60 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten 4b7822 <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 61 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten 3747ac <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 62 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten e1bfba <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 63 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten b0f028 <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 64 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten df26ce <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 65 0 0 0 1 32 88 97 106 -124 46 42 123 121>>",
"<com.takwa.nap.model.Stammdaten 6cd325 <EOTemporaryGlobalID: 0 0 84
19 -73 51 0 0 7 -44 66 0 0 0 1 32 88 97 106 -124 46 42 123 121>>");
client = "<com.takwa.nap.model.Client ffcd2b
_EOIntegralKeyGlobalID[Client (java.lang.Integer)1]>"; };
this = "<com.takwa.nap.model.StammdatenKonfig c9437d
_EOIntegralKeyGlobalID[StammdatenKonfig (java.lang.Integer)21]>"; }
with GlobalID _EOIntegralKeyGlobalID[StammdatenKonfig
(java.lang.Integer)21]
at ...
com
.webobjects
.eoaccess
.EODatabaseContext.objectsForSourceGlobalID(EODatabaseContext.java:
4214)
com
.webobjects
.eocontrol
.EOObjectStoreCoordinator
.objectsForSourceGlobalID(EOObjectStoreCoordinator.java:682)
com
.webobjects
.eocontrol
.EOEditingContext.objectsForSourceGlobalID(EOEditingContext.java:3965)
er.extensions.eof.ERXEC.objectsForSourceGlobalID(ERXEC.java:1070)
com
.webobjects
.eoaccess.EODatabaseContext._fireArrayFault(EODatabaseContext.java:
4427)
com
.webobjects
.eoaccess
.EOAccessArrayFaultHandler
.completeInitializationOfObject(EOAccessArrayFaultHandler.java:70)
com
.webobjects
.eocontrol
._EOCheapCopyMutableArray.willRead(_EOCheapCopyMutableArray.java:38)
com
.webobjects
.eocontrol
._EOCheapCopyMutableArray.count(_EOCheapCopyMutableArray.java:92)
com
.webobjects
.eocontrol._EOCheapCopyArray._setArray(_EOCheapCopyArray.java:34)
com
.webobjects
.eoaccess
._EOCheapCopyHandler
.completeInitializationOfObject(EOAccessArrayFaultHandler.java:151)
com
.webobjects
.eocontrol._EOCheapCopyArray.willRead(_EOCheapCopyArray.java:137)
com
.webobjects
.eocontrol._EOCheapCopyArray.objectsNoCopy(_EOCheapCopyArray.java:106)
com.webobjects.foundation.NSArray.<init>(NSArray.java:292)
com.webobjects.foundation.NSMutableArray.<init>(NSMutableArray.java:
64)
com
.webobjects
.foundation
._NSArrayUtilities
.arrayExcludingObjectsFromArray(_NSArrayUtilities.java:197)
com
.webobjects
.eoaccess
.EODatabaseContext
.recordChangesInEditingContext(EODatabaseContext.java:6109)
com
.webobjects
.eocontrol
.EOObjectStoreCoordinator
.saveChangesInEditingContext(EOObjectStoreCoordinator.java:412)
com
.webobjects
.eocontrol.EOEditingContext.saveChanges(EOEditingContext.java:3226)
er.extensions.eof.ERXEC._saveChanges(ERXEC.java:981)
er.extensions.eof.ERXEC.saveChanges(ERXEC.java:903)
com.takwa.wo.comp.TADetailPage.saveChanges(TADetailPage.java:57)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun
.reflect
.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun
.reflect
.DelegatingMethodAccessorImpl
.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
--
Michael Schmiedgen, BSc
Takwa GmbH
Bodelschwinghstr. 25
99096 Erfurt GERMANY
Tel +49 361 6534096
Fax +49 361 6534097
Mail email@hidden
Web http://www.takwa.de/
Geschaeftsfuehrung: Ingo Buchholz
HRB 12964, Amtsgericht Erfurt
_______________________________________________
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
--
Chuck Hill Senior Consultant / VP Development
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