[Glass] Explanation to "too many failed pom_gen scavenges" in this context??

Dale Henrichs via Glass glass at lists.gemtalksystems.com
Mon Mar 7 10:18:50 PST 2016


Mariano,

The handler for AlmostOutOfMemory relies on being able to resume after a 
successful commit, but a GemStone vm will sometimes cross the threshol 
in the middle of a "random C code" called by a primitive ... in these 
cases we have to defer the signalling of AlmostOutOfMemory until we 
reach a point where we can safely resume .... The implication is that 
depending upon the details of your call it is possible to physically run 
out of memory before the deferred signaling can take place ...

If you lower the threshold, you should be able to find a limit that 
gives you room to finish the memory hungry primitive call and get the 
deferred AlmostOfOfMemory exception signalled.

It is also possible that your temp obj cache is filling with objects 
that have not yet been connected to the persistent root ...

If you want to see what's happening with respect to the exceptions that 
are being signaleed, you could add logging to MCPlatformSupport 
class>>installAlmostOutOfMemoryStaticHandler: ...

Dale


On 03/07/2016 08:35 AM, Mariano Martinez Peck via Glass wrote:
> Hi guys,
>
> I am running some code that processes a huge csv file and inserts 
> persistent data to gemstone. This is a GemStone 3.2.9 with 1GB of SPC, 
> GEM_TEMPOBJ_CACHE_SIZE of 700MB and GEM_TEMPOBJ_POMGEN_PRUNE_ON_VOTE 
>  at 100.
>
> What is funny is that my code runs inside commitOnAlmost...
>
> I have this method:
>
> FAGemStoneCompatibility >> commitOnAlmostOutOfMemoryDuring: aBlock 
> threshold: aThreshold
>   [
>   MCPlatformSupport installAlmostOutOfMemoryStaticHandler: aThreshold.
>   aBlock value ]
>     ensure: [ MCPlatformSupport uninstallAlmostOutOfMemoryStaticHandler ]
>
> And this is how I use it:
>
>                System commitTransaction.
> FACompatibilityUtils current
> commitOnAlmostOutOfMemoryDuring: [
> *WhateverClass whateverThingThatNeedsMemory.*
>                         ]
>                         threshold: 10.
> System commitTransaction.
>
>
> And even with a threshold of 10...  I am getting a
> *
> *
> *VM temporary object memory is full *
> *, too many failed pom_gen scavenges*
>
>
> Any idea what could be going on?
>
> Thanks in advance,
>
> -- 
> Mariano
> http://marianopeck.wordpress.com
>
>
> _______________________________________________
> 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/20160307/633bd860/attachment.html>


More information about the Glass mailing list