[Glass] Object still there ... but no references found !?!?!

Dale Henrichs dale.henrichs at gemtalksystems.com
Fri Jan 25 10:27:06 PST 2019


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 ...


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 <bill.erickson at gemtalksystems.com> 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 < 
>> glass at lists.gemtalksystems.com 
>> <mailto:glass at lists.gemtalksystems.com>> 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
>>     Glass at lists.gemtalksystems.com
>>     <mailto:Glass at lists.gemtalksystems.com>
>>     http://lists.gemtalksystems.com/mailman/listinfo/glass
> _______________________________________________
> Glass mailing list
> Glass at lists.gemtalksystems.com
> http://lists.gemtalksystems.com/mailman/listinfo/glass
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20190125/06a75058/attachment.html>

More information about the Glass mailing list