Uploaded image for project: 'Teiid'
  1. Teiid
  2. TEIID-3786

Cache hint TTL invalidates cache before the reload/refresh is complete

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Do
    • Major
    • None
    • 8.7.1.6_2
    • Server
    • None

    Description

      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@3be0afa0 invalidating
      11:16:08,074 DEBUG [org.teiid.PROCESSOR.MATVIEWS] (Worker2_QueryProcessorQueue8) org.teiid.query.tempdata.GlobalTableStoreImpl$MatTableInfo@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@3be0afa0 invalidating
      11:16:08,074 DEBUG [org.teiid.PROCESSOR.MATVIEWS] (Worker2_QueryProcessorQueue8) org.teiid.query.tempdata.GlobalTableStoreImpl$MatTableInfo@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@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)

      Attachments

        Activity

          People

            rhn-engineering-shawkins Steven Hawkins
            rhn-support-dsteigner Deborah Steigner (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: