[teiid-issues] [JBoss JIRA] (TEIID-3786) Cache hint TTL invalidates cache before the reload/refresh is complete
Debbie Steigner (JIRA)
issues at jboss.org
Fri Oct 23 13:22:00 EDT 2015
Debbie Steigner created TEIID-3786:
--------------------------------------
Summary: Cache hint TTL invalidates cache before the reload/refresh is complete
Key: TEIID-3786
URL: https://issues.jboss.org/browse/TEIID-3786
Project: Teiid
Issue Type: Bug
Components: Server
Affects Versions: 8.7.1.6_2
Reporter: Debbie Steigner
Assignee: Steven Hawkins
Cache hint TTL invalidates cache before the reload/refresh is complete, if the reload fails so do the user queries because the cache is invalid.
According to the Caching documentation when using Cache Hint:
Important
In this example, the user query started a new refresh/load job, however it did not invalidate the current results. So, in the mean time while the load/refresh job is running, the user queries continue to return the expired results. When the refresh/reload job completes, then the old results will be flushed and new results will be used for any future user requests.
The main idea here is not to block user queries while the refresh job is running. This is mainly due to the fact that you can not predict how long a refresh job going to run.
>From the customer logs, you can see that the Matview is invalidated before it reloads[1], so if the reload fails for some reason then the user queries fail. I assume this is a bug not a documentation error
[1]
11:16:08,073 DEBUG [org.teiid.PROCESSOR.MATVIEWS] (Worker2_QueryProcessorQueue8) org.teiid.query.tempdata.GlobalTableStoreImpl$MatTableInfo at 3be0afa0 invalidating
11:16:08,074 DEBUG [org.teiid.PROCESSOR.MATVIEWS] (Worker2_QueryProcessorQueue8) org.teiid.query.tempdata.GlobalTableStoreImpl$MatTableInfo at 3be0afa0 setting matState to NEEDS_LOADING null 1445613368074 old values LOADED false
11:16:08,074 DEBUG [org.teiid.PROCESSOR.MATVIEWS] (Worker2_QueryProcessorQueue8) org.teiid.query.tempdata.GlobalTableStoreImpl$MatTableInfo at 3be0afa0 invalidating
11:16:08,074 DEBUG [org.teiid.PROCESSOR.MATVIEWS] (Worker2_QueryProcessorQueue8) org.teiid.query.tempdata.GlobalTableStoreImpl$MatTableInfo at 3be0afa0 setting matState to LOADING null 1445613368074 old values NEEDS_LOADING false
11:16:08,074 INFO [org.teiid.PROCESSOR.MATVIEWS] (Worker2_QueryProcessorQueue8) TEIID30013 Loading materialized view table #MAT_MBDVCONF.CLIENT
11:16:08,076 DEBUG [org.teiid.CONNECTOR] (Worker3_QueryProcessorQueue9) /RMoMwxJGpmf.1.12.3 Processing NEW request: SELECT g_0.ID, g_0.NAME, g_0.CREATE_DT FROM mbdvconf_sm.CLIENT AS g_0
11:16:26,027 WARN [org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory] (Worker3_QueryProcessorQueue9) Destroying connection that is not valid, due to the following exception: oracle.jdbc.driver.T4CConnection at 6d07b3ed: java.sql.SQLException: pingDatabase failed status=-1
at org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker.isValidConnection(OracleValidConnectionChecker.java:68)
at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnectionFactory.isValidConnection(BaseWrapperManagedConnectionFactory.java:1100)
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
More information about the teiid-issues
mailing list