[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