Juan Ramos created GEODE-8325:
---------------------------------

             Summary: Remove Unused DRF Files More Frequently
                 Key: GEODE-8325
                 URL: https://issues.apache.org/jira/browse/GEODE-8325
             Project: Geode
          Issue Type: Improvement
          Components: persistence
            Reporter: Juan Ramos


Users have reported that, even with {{auto-compaction}} enabled, there are 
certain scenarios for which there are too many orphaned {{drf}} files undeleted 
on the {{disk-stores}}.
This causes slowness and memory spikes during the startup (we iterate over all 
{{drf}} files and load records into memory as the first step when recovering 
disk regions) and, prior to the fix for GEODE-8029, could also cause a member 
to fail and shutdown.
We should implement a more long term fix, and make sure unused {{drf}} files 
are removed more often (maybe have a dedicated {{OplogCompactor}} that 
frequently removes the {{drf}} files even when the {{threshold}} is not hit?) 

It would also be good to apply Darrel's suggestions:
{quote}
We should consider a more long term fix. We used to have code that would remove 
drfs that were no longer needed. If we could do that more periodically it seems 
like it would prevent a large number of drfs from building up.
Also it seems like the OplogEntryIdSet itself could be reimplemented to use 
less memory. Since the ids for an diskstore always start at 1 and then simply 
increase, and many use cases will end up with large sequences of ids that have 
been deleted, we could consider using algorithms like we have on our 
concurrency check code for tracking what version ids we have seen. Basically 
you can just have a sequence (start of sequence and length) which can represent 
a long sequence with just 2 32-bit values (or 2 64-bit values if longs). 
Anything in the sequence range that is still alive you would note in another 
data structure as an exception. If exceptions are rare then this can save lots 
of memory.
{quote}




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to