6 Replies Latest reply on Aug 11, 2016 7:09 AM by Aaron Booth

    Delay in reloading/refreshing metadata in TDS after republishing?

    Aaron Booth

      I've had an issue recently when republishing a data source (added new columns), but the changes are not reflected immediately in the data source on Data Server (sometimes several hours before the data source is refreshed with changes, sometimes several minutes). Oddly, if I download/create a local copy, the changes are reflected in the local copy. But then when I publish again, the changes are not reflected.

      I suspect it is related to cache, but not sure. I've checked known issues, but nothing seems relevant.

       

      Has anyone had similar problem?

       

      If it is cache, is there anyway to clear cache without having to stop server (tabadmin command)?

      If it is not, any ideas?

       

      Tableau Desktop/Server 9.3.5 (although I also experienced the issue on 9.3.4 and 9.3.3).

       

      EDIT:

       

      Example, column in DB changed from [State Province] to [StateProvince]. I open the data source and download a copy to update the data source. I move dimension back to appropriate folder, then I republish.

      When I connect to the data source again, the dimension name is not updated and dimension is not in the folder. I try to add it to a worksheet, and get the following messages:

       

      Upon selecting Yes, the message repeats indefinitely. Upon selecting No, I get this message:

       

       

      Show Details displays this:

       

       

      Show Query displays this:

       

      <?xml version='1.0' encoding='utf-8' ?>

      <sqlproxy>
        <query-function class='restrict'>
          <restrictions>
            <field>[State Province]</field>
          </restrictions>
          <query-function class='aggregate'>
            <measures />
            <groupbys>
              <binding name='[State Province]'>
                <query-expression class='identifier' user:aggr-type='scalar' user:expr-type='str'>[State Province]</query-expression>
              </binding>
            </groupbys>
            <query-function class='table' table='[sqlproxy]' user:alias='sqlproxy' />
          </query-function>
        </query-function>
        <datasource hasconnection='false' inline='true' name='Parameters' version='9.3'>
          <aliases enabled='yes' />
          <column caption='FX Rate' datatype='string' name='[Parameter 1]' param-domain-type='list' role='measure' type='nominal' value='&quot;FX Rate Actual&quot;'>
            <calculation class='tableau' formula='&quot;FX Rate Actual&quot;' />
            <members>
              <member value='&quot;FX Rate Actual&quot;' />
              <member value='&quot;FX Rate Budget&quot;' />
              <member value='&quot;FX Rate Current&quot;' />
            </members>
          </column>
        </datasource>
      </sqlproxy>

       

      Message was edited by: Aaron Booth

        • 1. Re: Delay in reloading/refreshing metadata in TDS after republishing?
          Glen Robinson

          Hi Aaron

          Just to confirm. When you are publishing your data sources, they are live connections or Extracts?

          Also, when you publish an updated data source, what happens if you connect to it directly from Tableau Desktop, opening the DS from fresh (ie not from an existing workbook)? Do you have any problems then?

          Glen

          • 2. Re: Delay in reloading/refreshing metadata in TDS after republishing?
            Aaron Booth

            Hi Glen -

            Thanks for response. I'll clarify here:

            I have a data source with live connection to SQL Server (on-prem) published on Tableau Server.

            1. I made two changes to one of the source tables: 1.) Added column 'OrgType', 2.) Renamed column 'State Province' to 'StateProvince'. [this involved a drop/create of the table on database].
            2. I opened Tableau Desktop, selected data source from Server (fresh connection). I get a warning that 'State Province' is missing [expected]. I create local copy. I close the DS data source from the workbook.
            3. I replace references for 'State Province' to 'StateProvince'. I also see 'OrgType' in the dimension pane. I move both dimensions to folder 'Organization'. I rename data source to remove '(Local Copy)'.
            4. I publish data source (using same name as the one I'm replacing). I consent when warned that there is an existing data source of the same name.

             

            At this point, I close/reopen desktop, sign into Server and open the data source, and I get different behavior depending on whether I open from Server or download a copy.

            If I download a copy, the data source and dimensions are as I last published them.

            If I connect to the data source on server, the changes that I made in Step 3 above are not persisted (the new column 'OrgType' is missing, and 'StateProvince' is not in the 'Organization' folder). However, if I 'Create Local Copy' from the right click menu on the DS data source, the local copy will have the changes as I last published them.

             

            Also, this seems to be intermittent. I republished 3 data sources within the span of 20 minutes yesterday, and only experienced the issue with two of the three. It also appears to resolve itself within 24 hours.

             

            One thing I didn't try was logging out of the persistent server session from Desktop.

            • 3. Re: Delay in reloading/refreshing metadata in TDS after republishing?
              Glen Robinson

              Hi

              Can you confirm whether you see the same sort of behaviour if you use other data sources other than MS-SQL?

              My thinking is that there may be something in your SQL setup which is caching results, (and giving these weird results) and that this isn't something that is specifically to do with your Tableau Server.

               

              Regards

              Glen

              • 4. Re: Delay in reloading/refreshing metadata in TDS after republishing?
                Aaron Booth

                I can try that - most if not all of my data sources published to server are MSSQL. But - I would expect the same behavior from both the DS connection and the local copy if its caching in the source DB. It seems like the direct connection via DS is connecting to cached metadata since the downloaded copy includes the latest changes. Is the metadata/connection in DS cached? (note: TS config is set to 'refresh more often' if that is relevant).

                 

                Just to clarify, I'm not getting any weird results in the data (except for the query failing if I try to use one of the affected fields when connected to server data source). Just weird behavior from the metadata.

                • 5. Re: Delay in reloading/refreshing metadata in TDS after republishing?
                  Glen Robinson

                  Hi Aaron

                  Have done some testing of my own, and am seeing the same behaviour as you.

                  If I make changes to the underlying MS-SQL table, these changes arent reflected straight away in the Published Data Source.

                  If I download the TDS file from the server, I can see the changes.

                  I tried the same thing using a Published Data source to a Flat File, and this works as expected.

                  I agree with you, it looks to be some sort of caching within Tableau Server.

                  As it is the DataServer (dataserver.exe) Process which handles connections for Published Data Source, I tested by restarting this process. Doing so fixed the issue, in that when the process respawned the Data connection looked as it should do. (I wouldnt recommend doing this in a live environment.)

                  I see you posted toFields missing after table structure change where some else is experiencing similar issues.

                  I would log this with Tableau and see what they come back with on it.

                  Glen

                  1 of 1 people found this helpful