[ 
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)

Reply via email to