spring-data-geode
spring-data-geode copied to clipboard
Improve GemfireCache.clear() to take GemFire Cache and Region type into consideration [DATAGEODE-265]
John Blum opened DATAGEODE-265 and commented
Currently, when a developer uses Spring's Cache Abstraction with Apache Geode as the "caching provider", to enable caching in his/her @Service components, if the developer includes a @Service method to evict all entries, like so...
@CacheEvict(cacheNames="...", allEntries=true)
public void wipeCaches() {
logger.info("Wiped all Caches");
...
}
SDG's current implementation of Cache.clear() will fail with an UnsupportedOperationException on a PARTITION Region. This is because Map.clear() is not supported on PARTITION Regions.
Additionally, clear() would not work if the Region is a client Region.
This JIRA was created to add more intelligence to SDG's GemfireCache.clear() operation
Reference URL: https://jira.spring.io/browse/SGF-557
John Blum commented
A nice alternative would be for Apache Geode to include support for Map.clear() on PARTITION Regions, just like for REPLICATE Regions. Effectively, [o.a.g.c.Region.clear()](https://geode.apache.org/releases/latest/javadoc/org/apache/geode/cache/Region.html#clear--) could just call [o.a.g.c.Region.removeAll()](https://geode.apache.org/releases/latest/javadoc/org/apache/geode/cache/Region.html#removeAll-java.util.Collection-) when the Region is PARTITION
Jens Deppe commented
Also see: https://cwiki.apache.org/confluence/display/GEODE/Support+for+clear+operation+on+partitioned+region