Bug 780852 (SOA-3305)

Summary: Materialized View cache TTL (in a transformation) does not expire/invalidate the cache automatically
Product: [JBoss] JBoss Enterprise SOA Platform 5 Reporter: Paul Nittel <pnittel>
Component: EDSAssignee: Van Halbert <vhalbert>
Status: CLOSED NEXTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 5.2.0.ER3CC: fnguyen, pnittel
Target Milestone: ---   
Target Release: 5.2.0.ER4   
Hardware: Unspecified   
OS: Unspecified   
URL: http://jira.jboss.org/jira/browse/SOA-3305
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
SOA-P 5.2 ER3, Production configuration
Last Closed: 2011-10-10 21:15:30 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
PartsForMatViewTesting_MPS.zip none

Description Paul Nittel 2011-08-24 17:49:15 UTC
Steps to Reproduce: See the attached Model Project Set.

 - Transformation SQL has a TTL of 30000
 - Add a row to the source table
 - Query the transformation a couple of times then delete the added row
 - Wait > 30 seconds
 - Query again (should be same row count)
 - Query again and it should be the row count after the row was deleted.

project_key: SOA

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)

Comment 1 Paul Nittel 2011-08-24 17:56:49 UTC
Attachment: Added: PartsForMatViewTesting_MPS.zip


Comment 2 Paul Nittel 2011-08-24 17:58:16 UTC
I also see the command logging shows: "Loaded materialized view table #MAT_PARTSVIRTUAL.SUPPLIERINFO from cached contents from another clustered node."

This would be a whole lot cooler if there was another cluster member. This is not a cluster. Never was. Possibly the next Jira??

Comment 3 Van Halbert 2011-08-24 19:48:36 UTC
Link: Added: This issue Cloned to SOA-3306


Comment 5 Paul Nittel 2011-10-10 21:15:30 UTC
Tested and closed!