You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Darrel Schneider (Jira)" <ji...@apache.org> on 2021/04/13 20:26:00 UTC

[jira] [Commented] (GEODE-9146) idle expiration should ignore destroyed or invalid entries when computing last access time

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

Darrel Schneider commented on GEODE-9146:
-----------------------------------------

This can be fixed rather easily by changing LatestLastAccessTimeMessage to check if an entry is invalid/destroyed before using its last-access-time.

> idle expiration should ignore destroyed or invalid entries when computing last access time
> ------------------------------------------------------------------------------------------
>
>                 Key: GEODE-9146
>                 URL: https://issues.apache.org/jira/browse/GEODE-9146
>             Project: Geode
>          Issue Type: Bug
>          Components: expiration
>    Affects Versions: 1.4.0, 1.5.0, 1.6.0, 1.7.0, 1.8.0, 1.9.0, 1.9.1, 1.9.2, 1.10.0, 1.11.0, 1.12.0, 1.12.1, 1.13.0, 1.13.1, 1.13.2
>            Reporter: Darrel Schneider
>            Priority: Major
>              Labels: GeodeOperationAPI
>
> When expiration is trying to determine if an entry has idle expired, it sends a message to the other members to determine the last time the entry was accessed. When that message, LatestLastAccessTimeMessage, checks for the entry it should ignore a destroyed entry if the expiration action is destroy, and it should ignore invalid entries if the expiration action is invalidate. But currently it does not ignore such entries and since invalidate/destroy also set the last accessed time, this can extend the expiration time on one member that has already performed the expiration on another member. Normally distributed expiration actions are done so this is not a problem but for local invalidates or destroys this can cause the entry to live longer than it should on some members.
> In particular this issue has been seen on partitioned regions that are configured with expiration destroy and eviction destroy. In that case the expire destroy becomes a local destroy even when a distributed destroy was requested. 
> This issue has existed since geode 1.4.



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