[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