[ 
https://issues.apache.org/jira/browse/GEODE-10412?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17597247#comment-17597247
 ] 

ASF subversion and git services commented on GEODE-10412:
---------------------------------------------------------

Commit 3e37a517997507b2ad9140665fbd2feabf1436bd in geode's branch 
refs/heads/develop from Jakov Varenina
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=3e37a51799 ]

GEODE-10412: Clear expired tombstones during region destroy (#7838)

* GEODE-10412: Clear expired tombstones during region destroy

The issue:
During region destroy operation, the expired tombstones aren't cleared
when non-expired ones are available. Later, these expired
tombstones prevent all other regions' tombstones from being cleared
from memory, causing many issues (memory and disk exhaustion).

The solution:
When a region is destroyed, it must clear all the related expired and
non-expired tombstones from memory.

* Add distributed test that reproduce the issue

* Update after review

> Destry region command doesn't clear the region related expired tombstones
> -------------------------------------------------------------------------
>
>                 Key: GEODE-10412
>                 URL: https://issues.apache.org/jira/browse/GEODE-10412
>             Project: Geode
>          Issue Type: Bug
>            Reporter: Jakov Varenina
>            Assignee: Jakov Varenina
>            Priority: Major
>              Labels: pull-request-available
>
> Tombstones in geode are kept on two maps: expiredTombstones and tombstones 
> (non-expired ones). When a region is destroyed, it must clear all the related 
> expired and non-expired tombstones from memory. Due to the below code bug, 
> expired tombstones aren't cleared when non-expired tombstones are available 
> during the region destruction:
> {code:java}
> private boolean removeIf(Predicate<Tombstone> predicate) {      
>   return removeUnexpiredIf(predicate) || removeExpiredIf(predicate);    
> }
> {code}
> Because of the above, non-expired tombstones are never removed from memory, 
> preventing other tombstones from being cleared. Since other tombstones never 
> expire, the compaction is not done, and therefore the disk is filled, causing 
> the issues.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to