[
https://issues.apache.org/jira/browse/GEODE-3845?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nick Vallely updated GEODE-3845:
--------------------------------
Summary: Distributed destroy on eviction (was: Distributed destroy for
replicated region)
> Distributed destroy on eviction
> -------------------------------
>
> Key: GEODE-3845
> URL: https://issues.apache.org/jira/browse/GEODE-3845
> Project: Geode
> Issue Type: New Feature
> Components: docs, eviction
> Reporter: Masaki Yamakawa
> Priority: Major
>
> I use entry-idle-time and eviction together in a partition region that holds
> one redundant copy.
> Details of setting are as follows:
> {code:xml}
> <region name="Data" refid="PARTITION">
> <region-attributes>
> <entry-idle-time>
> <expiration-attributes timeout="60" action="destroy" />
> </entry-idle-time>
> <partition-attributes redundant-copies="1" />
> <eviction-attributes>
> <lru-entry-count maximum="10" action="local-destroy" />
> </eviction-attributes>
> </region-attributes>
> </region>
> {code}
> In this setting, the data held by the cache server is different. Then,
> inconsistent results are returned depending on the server to be connected.
> Eviction of the partition region can only select local-destroy or
> overflow-to-disk. On the other hand, it is written that the expire chapter of
> the document can not use local-destroy, local-invalidate in the partition
> region. Likewise, I think that data inconsistency will occur even with the
> settings like this time.
> Below is the test code:
> [https://github.com/masaki-yamakawa/geode/blob/bug-partition-local-destroy/geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/BugExpireAndEvictionDUnitTest.java]
> I think that it is necessary to add a check at the time of region creation or
> write it in the document.
>
> **
> Problem: currently eviction-action must be either 'local-destroy' or
> 'overflow-to-disk'
> ex: <expiration-attributes timeout="60" action="local-destroy" />
> Solution: This story is to add the additional option "distributed-destroy" as
> an action setting for any eviction type.
> This will enable a local destroy action to be distributed across the cluster
> (currently this does not exist)
>
> Acceptance: can set this on region configuration via cache.xml, API or gfsh
> gfsh help and docs have been updated
>
> +Story: Add Option+
> Given I want data consistency across a distributed replicated region
> When I go to set an eviction action
> Then I should have the ability to specify one of the following actions:
> * 'local-destroy' [Default action]
> * 'none'
> * 'overflow-to-disk'
> * 'distributed-destroy' (NEW option)
>
> +Story: Behavior+
>
> Given I have a region expiration action set in the system to
> 'distributed-destroy'
> When an eviction event based on [mem%, count, regionSize, time] occurs to
> destroy entries
> Then the system will destroy the same entries in any region where they exist
> across the distributed environment
>
> +Story: Configuring cache.xml+
> Given I am configuring a system with replicated regions
> When I setup my cache.xml
> Then I have the ability to add a 'destributed–destroy' action value for the
> following tags:
> * <lru-entry-count maximum="10000" action "XXXXX" />
>
>
> +Story: Spring Data Gemfire+
> Given I am configuring a system with replicated regions
> when I setup my region's eviction action through Spring Data Gemfire
> Then I need the ability to specify the value of 'distributed-destroy'
>
> +Story : Documentation+
> Given I am looking for help for region configuration
> When I look at the help documentation for 'Configure Data Eviction'
> Then I should see details under the 'Decide what action to take when the
> limit is reached' section for 'Distributed Destroy'
>
> +Story: GFSH Create region+
> GIVEN I want to create a new region with distributed-destroy eviction-action
> through GFSH CLI
> WHEN I use the command
> {code:java}
> create region{code}
> THEN I have the optional parameter of
> {code:java}
> --eviction-action=distributed-destroy{code}
> AND the API utilized by GFSH is updated to support this value for create
> region
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)