Hi Esteban,

thank you for your quick response.
I already had the >>enableMissingContent method in the mongoContainer (see
fileout).

I was trying with a new Image and it worked!

In the old image, I debugged into and the Image froze in >>basicNew in

VOLazyProxy>>repository: aRepository objectClass: aClass id: idObject
^self basicNew
 initializeRepository: aRepository
class: aClass
id: idObject

For now, I take the new image and proceed.
But I dont know the reason for freezing and hope it will not come again :-)

Thanks again
Sabine



On Thu, Aug 15, 2013 at 1:34 PM, EstebanLM [via Smalltalk] <
ml-node+s1294792n4703743...@n4.nabble.com> wrote:

> Hi Sabine,
>
> yes... I have found that problem time to time too.
> The way to solve it in mongo is to allow the collection to take dead
> references as "valid missing content". Of course, this is a dangerous
> feature, and that's why is not enabled by default.
> To enable it, you need to add a property to the trip container:
>
> Trip class>>mongoContainer
>         <mongoContainer>
>
>         ^ VOMongoContainer new
>                 enableMissingContent;
>                 yourself
>
> that should solve your problem.
>
> I could this "eventual integrity" and is very suspicious... but the only
> way I found to treat in image what could happen outside it... :)
>
> cheers,
> Esteban
>
>
>
>
> On Aug 15, 2013, at 12:04 PM, Sabine Knöfel <[hidden 
> email]<http://user/SendEmail.jtp?type=node&node=4703743&i=0>>
> wrote:
>
> > Hi Esteban,
> >
> > sorry but I need your help again.
> >
> > I succeeded in re-writing all my code to use voyage and can save all my
> > model now. Great!
> >
> > Now I was experimenting with it and I have an Image freeze which should
> not
> > occur in production;-).
> >
> > Situation:
> >
> > I created one Person with two trips. Trip points back to its person.
> > After writing it into mongo, I delete one trip from mongo manually (I
> use
> > rockmongo, great tool).
> >
> > So in the database, I have now
> > 1) one Person which points to two trips
> > 2) one trip (the other was deleted)
> >
> > Now, I do:
> > Person selectAll first trips
> >
> > and the image freezes.
> >
> > Sometimes, I find in the DebugLog:
> > VOMongoError: Lazy reference not found RKATrip: OID(103475906)
> >
> > This is correct ;-)
> >
> > I did also try with enableMissingContent but did not work.
> > http://forum.world.st/Voyage-GC-collecting-random-objects-td4668438.html
> >
> > Sure, normally, we do not manipulate the database manually.
> > But I want to be sure that the image does not freeze if this occurs....
> >
> > How can I solve this?
> >
> > regards
> > Sabine
> >
> >
> >
> > ###########################################
> > with this filein you can reproduce it easily
> > ###########################################
> > Object subclass: #Person
> > instanceVariableNames: 'trips lastName'
> > classVariableNames: ''
> > poolDictionaries: ''
> > category: 'RKA24-Demo'!
> >
> > !Person methodsFor: 'accessing' stamp: 'sabineknoefel 8/15/2013 10:02'!
> > lastName
> >
> > ^ lastName! !
> >
> > !Person methodsFor: 'accessing' stamp: 'sabineknoefel 8/15/2013 10:02'!
> > lastName: anObject
> >
> > lastName := anObject! !
> >
> > !Person methodsFor: 'accessing' stamp: 'sabineknoefel 8/15/2013 10:02'!
> > trips
> >
> > ^ trips! !
> >
> > !Person methodsFor: 'accessing' stamp: 'sabineknoefel 8/15/2013 10:02'!
> > trips: anObject
> >
> > trips := anObject! !
> >
> > "-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!
> >
> > Person class
> > instanceVariableNames: ''!
> >
> > !Person class methodsFor: 'as yet unclassified' stamp: 'sabineknoefel
> > 8/15/2013 10:06'!
> > isVoyageRoot
> > ^true! !
> >
> > !Person class methodsFor: 'as yet unclassified' stamp: 'sabineknoefel
> > 8/15/2013 11:48'!
> > mongoContainer
> > <mongoContainer>
> >
> > ^VOMongoContainer new
> > collectionName: 'testPersons';
> > enableMissingContent;
> > kind: Person;
> > yourself! !
> >
> > !Person class methodsFor: 'as yet unclassified' stamp: 'sabineknoefel
> > 8/15/2013 10:13'!
> > mongoTrips
> > <mongoDescription>
> >
> > ^ VOMongoToManyDescription new
> > attributeName: 'trips';
> > kind: Trip;
> > yourself! !
> >
> >
> > Object subclass: #Trip
> > instanceVariableNames: 'description person'
> > classVariableNames: ''
> > poolDictionaries: ''
> > category: 'RKA24-Demo'!
> >
> > !Trip methodsFor: 'accessing' stamp: 'sabineknoefel 8/15/2013 10:04'!
> > description
> >
> > ^ description! !
> >
> > !Trip methodsFor: 'accessing' stamp: 'sabineknoefel 8/12/2013 10:12'!
> > description: anObject
> >
> > description := anObject! !
> >
> > !Trip methodsFor: 'accessing' stamp: 'sabineknoefel 8/15/2013 10:04'!
> > person
> >
> > ^ person! !
> >
> > !Trip methodsFor: 'accessing' stamp: 'sabineknoefel 8/15/2013 10:04'!
> > person: anObject
> >
> > person := anObject! !
> >
> > "-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!
> >
> > Trip class
> > instanceVariableNames: ''!
> >
> > !Trip class methodsFor: 'as yet unclassified' stamp: 'sabineknoefel
> > 8/12/2013 09:47'!
> > isVoyageRoot
> > ^true! !
> >
> > !Trip class methodsFor: 'as yet unclassified' stamp: 'sabineknoefel
> > 8/15/2013 11:48'!
> > mongoContainer
> > <mongoContainer>
> >
> > ^VOMongoContainer new
> > collectionName: 'testTrips';
> > enableMissingContent;
> > kind: Trip;
> > yourself! !
> >
> > !Trip class methodsFor: 'as yet unclassified' stamp: 'sabineknoefel
> > 8/15/2013 10:12'!
> > mongoPerson
> > "VOMongoRepository allInstancesDo: #reset. "
> >
> > <mongoDescription>
> >
> > ^ VOMongoToOneDescription new
> > attributeName: 'person';
> > kind:  Person;
> > yourself ! !
> >
> > !Trip class methodsFor: 'as yet unclassified' stamp: 'sabineknoefel
> > 8/15/2013 11:50'!
> > testOnePersonTwoTrips
> > | theTrip the2ndTrip thePerson |
> > thePerson := Person new lastName: 'Knoefel'.
> > theTrip := Trip new description: 'Trip to Munic'.
> > the2ndTrip := Trip new description: 'Trip to Essen'.
> > theTrip person: thePerson.
> > the2ndTrip person: thePerson.
> > thePerson trips: (OrderedCollection with: theTrip with: the2ndTrip ).
> > theTrip save.
> >
> > VOMongoRepository allInstancesDo: #reset.
> >
> > "now I delete one trip from mongo"
> >
> > Person selectAll first trips! !
> >
> >
> >
> >
> > --
> > View this message in context:
> http://forum.world.st/Voyage-image-freeze-VOMongoError-Lazy-reference-not-found-tp4703739.html
> > Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
> >
>
>
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://forum.world.st/Voyage-image-freeze-VOMongoError-Lazy-reference-not-found-tp4703739p4703743.html
>  To unsubscribe from Voyage: image freeze/VOMongoError: Lazy reference not
> found, click 
> here<http://forum.world.st/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4703739&code=c2FiaW5lLmtub2VmZWxAZ21haWwuY29tfDQ3MDM3Mzl8MTA0OTM5MTYx>
> .
> NAML<http://forum.world.st/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>




--
View this message in context: 
http://forum.world.st/Voyage-image-freeze-VOMongoError-Lazy-reference-not-found-tp4703739p4703748.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.

Reply via email to