]
Steven Hawkins resolved TEIID-1728.
-----------------------------------
Assignee: Steven Hawkins
Fix Version/s: 7.4.1
7.6
Resolution: Done
The issue was with the ExpirationAwareCache. The first thing that I noticed, which could
be a KI for 7.4 and earlier is that if the user were to take out the default eviction
config from the xml - then no evictions would be processed. This is because only the
cache root is used to determine if the eviction thread is run. On a related note for 7.4
and older is that TTLs will not be respected if they are less than the eviction wake up
interval.
For 7.4.1 and later (including 7.1.1.CP3) the issue is that region activation of a default
active region removes the region eviction configuration from the eviction thread. This
affects both mat views (until 7.6) and cached results. The code was altered to ensure
that the eviction configuration is associated regardless.
Finally a fail-safe expiration check was added to the get method to ensure that expired
items aren't returned - regardless of what the default eviction settings are for the
cache root.
Materialized View cache TTL (in a transformation) does not
expire/invalidate the cache automatically
----------------------------------------------------------------------------------------------------
Key: TEIID-1728
URL:
https://issues.jboss.org/browse/TEIID-1728
Project: Teiid
Issue Type: Bug
Components: Server
Affects Versions: 7.4.1
Environment: SOA-P 5.2 ER3, Production configuration
Reporter: Paul Nittel
Assignee: Steven Hawkins
Fix For: 7.4.1, 7.6
With the following transformation SQL, regardless of the time allowed to elapse, the
cache does not expire/invalidate.
I'm running the production profile. Here's the transformation SQL text:
/*+ cache(ttl:30000) */
SELECT
PartsSourceA.SUPPLIER_PARTS.SUPPLIER_ID,
PartsSourceA.SUPPLIER_PARTS.PART_ID, PartsSourceA.SUPPLIER_PARTS.QUANTITY,
PartsSourceA.SUPPLIER_PARTS.SHIPPER_ID, PartsSourceB.SUPPLIER.SUPPLIER_NAME,
PartsSourceB.SUPPLIER.SUPPLIER_STATUS, PartsSourceB.SUPPLIER.SUPPLIER_CITY,
PartsSourceB.SUPPLIER.SUPPLIER_STATE, CONCAT2(PartsSourceB.SUPPLIER.SUPPLIER_CITY,
CONCAT2(', ', PartsSourceB.SUPPLIER.SUPPLIER_STATE)) AS City_State
FROM
PartsSourceA.SUPPLIER_PARTS, PartsSourceB.SUPPLIER
WHERE
PartsSourceA.SUPPLIER_PARTS.SUPPLIER_ID =
PartsSourceB.SUPPLIER.SUPPLIER_ID
It's not expiring/invalidating the cache unless I CALL
SYSADMIN.refreshMatView(viewname=>'PartsVirtual.SupplierInfo',
invalidate=>true)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: