Region Entries are not Destroyed until Eviction Action is Triggered
search cancel

Region Entries are not Destroyed until Eviction Action is Triggered

book

Article ID: 294183

calendar_today

Updated On:

Products

VMware Tanzu Gemfire

Issue/Introduction

Symptoms:
When trying to destroy region entries within a transaction on a region which has eviction configured, those entries are not actually destroyed until the eviction action for them is triggered. In particular, if the eviction action is not triggered because the condition is never met, those region entries will not ever be destroyed giving the appearance of a "memory leak."

Environment


Cause

According to the report (GEODE-4651), when destroying region entries from a region, which has eviction configured within a transaction, the transaction code adds the destroyed entries back to the eviction list. This can cause the entries not to be garbage collected until eviction action for them is triggered.

Resolution

The issue has been fixed and the fix is available with the latest major/minor releases of GemFire (8.2.9+, 9.3.1+, and 9.4.0 or later). For earlier versions, the possible workarounds are:

  1. To mitigate memory pressure, consider triggering eviction actions more frequently;
  2. Destroy region entries outside of transaction; or
  3. Do not configure eviction where you intend to destroy region entries within transactions.