EDS TTL Snapshot Refresh doesn't fully reload Internal MV if the user query contains LIMIT

Solution Verified - Updated -

Issue

  • I am using the cache hint to automatically trigger a full snapshot refresh after a specified time to live (TTL)[1]. The TTL works but if the user query that is run contains a LIMIT clause the refresh load uses the LIMIT and doesn't completely load the internal MV and fails load.

Sequence of events

1) Execute the query to initiate the internal MV load
2) After caching, issue the same query but with limit of 10,000 to test it is hitting the cache
3) Wait for 5 minutes for TTL to expire
4) Re-issue the same query with limit of 10,000 and i can see the state change to reloading but once the query has finished fetching 10,000 from data source it terminates and the MV state changed to failed_load. I would have expected the MV to continue to load to rehydrate the cache and the query should be fetching the data from the stale cache. But this is not the case ...

[1]https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_Data_Services/5/html/Data_Services_Caching_Guide/matviews.html#idp7629936

Environment

  • Red Hat JBoss Data Services (EDS) 5.3.1

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In