Masaki Yamakawa created GEODE-3809: -------------------------------------- Summary: Invalid OQL result to region with entry-idle-time setting Key: GEODE-3809 URL: https://issues.apache.org/jira/browse/GEODE-3809 Project: Geode Issue Type: Bug Components: querying Reporter: Masaki Yamakawa
I am setting the expiration of entry-idle-time to Region. Despite periodic access to the region, I discovered an event that data can not be get with OQL after the time set by entry-idle-time has elapsed. I am using Geode in the production, so I want you to solve this problem as soon as possible. The cache.xml of the server is as follows: {code:xml} <cache> <cache-server port="7777" /> <region name="Data" refid="PARTITION"> <region-attributes> <entry-idle-time> <expiration-attributes timeout="10" action="destroy" /> </entry-idle-time> </region-attributes> </region> </cache> {code} The source code of the client is as follows: {code:java} private static final Integer KEY = 1; public static void main(String[] args) throws Exception { Properties props = new Properties(); props.setProperty("cache-xml-file", "clientcache.xml"); ClientCacheFactory factory = new ClientCacheFactory(props); ClientCache cache = factory.create(); Region<Integer, String> region = cache.getRegion("Data"); region.put(KEY, "InitialValue"); Thread.sleep(7000); System.out.println("Get Result1=" + region.get(1)); Pool pool = PoolManager.find("ClientPool"); Query query = pool.getQueryService().newQuery("select k from /Data.keySet k"); // Normal OQL result SelectResults result = SelectResults.class.cast(query.execute()); System.out.println("Get Result2=" + region.get(1)); System.out.println("Query Result2=" + result.size() + ", value=" + result.iterator().next()); Thread.sleep(5000); // Invalid OQL result!!! result = SelectResults.class.cast(query.execute()); System.out.println("Get Result3=" + region.get(1)); System.out.println("Query Result3=" + result.size() + ", value=" + (result.isEmpty() ? null : result.iterator().next())); System.out.println("Get Result4=" + region.get(1)); cache.close(); System.exit(0); } {code} {code:xml} <client-cache> <pool name="ClientPool" subscription-enabled="true"> <server host="localhost" port="7777" /> </pool> <region name="Data"> <region-attributes refid="LOCAL" pool-name="ClientPool" /> </region> </client-cache> {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)