Login  Register

Re: Object still there ... but no references found !?!?!

Posted by GLASS mailing list on Jan 25, 2019; 6:27pm
URL: https://forum.world.st/Object-still-there-but-no-references-found-tp5094192p5094224.html

Marten,

When an mfc is finished and dead objects are found (like yours) all of the running gems are basically asked if they have a reference to any of the dead objects (this is a vote) if a gem does have a reference (the object does not have to be connected to anything) the gem will vote down the object and it will be kept in the db until the next mfc cycle ...

This is done because if an object is still referenced by a gem it is impossible to know whether it will be reconnected to a persistent object so to be on the safe side, the object is not declared dead until there are no persistent references _and_ not gems with an in internal reference to the object ...

If you want to make sure that a particular object is counted as dead, then it is necessary to shut down all gems and start a fresh gem (topaz) where you take care not to reference the object before running the mfc, run a reclaimall and repeat the mfc/reclaimall sequence until no dead objects are found ..

Keep in mind that it is possible that your find references gem is the gem that was keeping the object alive ..... so logging out of that gem _before_ doing an MFC is required ...

If you are running mfcs regularly it is likely that the gems will eventually forget the object and it will be collected sooner or later ... as you have discovered it can be a painful process to actually wait until you see with your own eyes that a particular object has been garbage collected --- but your life would be much worse if we allowed objects that are still alive to be garbage collected ...

Dale

On 1/25/19 10:09 AM, Marten Feldtmann via Glass wrote:

Thanks,

I did this, but with no success.

Then I shut down the database (and with it several topaz processes waiting for HTTP requests,, several other Topaz processes, statmonitor) ... and started just the stone ... and did garbage collection and they went away ...

Hmm, thats another playground to waste time ... :-(


Bill Erickson [hidden email] hat am 25. Januar 2019 um 18:44 geschrieben:

Marten,

If you're doing any analysis using #listInstances* and #findReferences* to locate the likely dead objects, make sure to logout this session before doing the MFC/reclaim.  Otherwise, this session will retain local references to the "possible dead" and will vote them down during the reclaim sequence.

------------------------------------------------------------------------
Bill Erickson
GemTalk Systems Engineering
15220 NW Greenbrier Parkway #240, Beaverton OR 97006
------------------------------------------------------------------------


On Fri, Jan 25, 2019 at 6:27 AM Marten Feldtmann via Glass < [hidden email]> wrote:

What can be done in such situations?

I find instances of a class in my database, but these instances have no references (findAllReferences returns an empty set).

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass