[
https://issues.apache.org/jira/browse/IGNITE-18439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aleksey Plekhanov updated IGNITE-18439:
---------------------------------------
Labels: calcite (was: calcite calcite2-required)
> Calcite engine. Expired entries are not filtered by scans
> ---------------------------------------------------------
>
> Key: IGNITE-18439
> URL: https://issues.apache.org/jira/browse/IGNITE-18439
> Project: Ignite
> Issue Type: Bug
> Reporter: Aleksey Plekhanov
> Assignee: Aleksey Plekhanov
> Priority: Major
> Labels: calcite
> Fix For: 2.15
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> Expired entries should be filtered when it's possible (table scans, regular
> index scans). Some types of optimizations (inline scans) don't have access to
> expireTime field, perhaps we should disable these optimizations for caches
> with {{{}eagerTtl == false{}}}.
> Reproducer:
> {code:java}
> public void testExpiration() throws Exception {
> IgniteCache<Integer, Developer> cache = client.getOrCreateCache(new
> CacheConfiguration<Integer, Developer>()
> .setName("dev")
> .setSqlSchema("PUBLIC")
> .setIndexedTypes(Integer.class, Developer.class)
> .setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(new
> Duration(TimeUnit.MILLISECONDS, 1)))
> .setEagerTtl(false)
> );
>
> for (int i = 0; i < 10; i++)
> cache.put(i, new Developer("name" + i, i));
> doSleep(100);
> assertQuery("SELECT * FROM PUBLIC.DEVELOPER").resultSize(0).check();
> }
> {code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)