2 Replies Latest reply on Jul 19, 2017 2:59 PM by Sheila Tweddle

    Tableau Server - Unable to Delete tde File

    Sheila Tweddle

      On Tableau Server 10.0 we have a extract refresh occurring every 30 minutes.  Errors are occurring in the Windows Event log as shown below.  Upon investigation I can confirm that the reason the files cannot be deleted is because they are open and the process with the lock is tdeserver64.exe. 

      I checked the configuration setting of the option temp.file_expiry_s and it is set to 86400 (24 hours).

      The error is thrown when trying to delete a variety of files regardless of their age, however it is never the most recent extract refresh.


      So I have two issues:

      1.  Why is it trying to delete files less than 24 hours old?

      2.  How to release locks on files more than 24 hours old so they can be deleted successfully?


      Thanks in advance for your help!



      ===> Start of Message

      The description for Event ID 4096 from source Tableau Server (Filestore) cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.



      If the event originated on another computer, the display information had to be saved with the event.



      The following information was included with the event:



      2017-06-22 04:52:15.696 +1000 foldersReconciliationScheduler-1   ERROR : com.tableausoftware.tdfs.filestore.FileReconciliationService - Failed to reap folderId '{0CDBBD1B-218F-4CE4-AE7B-7A266ECC3F9C}' of type 'extract

      java.io.IOException: Unable to delete file: D:\Tableau\Tableau Server\data\tabsvc\dataengine\extract\2e\89\{0CDBBD1B-218F-4CE4-AE7B-7A266ECC3F9C}\TableauSalesOrdersInvoices.tde at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:2381) at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:1679) at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1575) at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:2372) at com.tableausoftware.tdfs.common.FileStorePath.deleteFolder(FileStorePath.java:151) at com.tableausoftware.tdfs.filestore.FileReconciliationService.deleteFolder(FileReconciliationService.java:368) at com.tableausoftware.tdfs.filestore.FileReconciliationService.reconcileFolders(FileReconciliationService.java:271) at com.tableausoftware.tdfs.filestore.jobs.FoldersReconciler.reconcile(FoldersReconciler.java:110) at com.tableausoftware.tdfs.filestore.jobs.FoldersReconciler.run(FoldersReconciler.java:80) at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

      ===> End of Message

        • 1. Re: Tableau Server - Unable to Delete tde File
          Russell Christopher

          Hi Shelia


          This is likely an "old" extract that has already been re-generated (since you refresh every 30 minutes). After the "newest" extract has been created and is active use, it makes no sense to keep old one lying around as they're essentially just "taking up space". So, the reaper process comes through and cleans them up.


          It's hard to say exactly why the extract in question has a lock on it from TDEServer64.exe - Based on what you've described, I'd guess that this process is actually the cause of your problems - Normally, these get spawned to create/refresh extracts and then go away. There are also more one or more "permanent" tdeserver processes associated with the Data Engine service. My guess is that this instance of the process is somehow hung and it just happens to have a lock on the file/folder in question


          You have two choices:


          • Use the Task Manager to kill the offending process, then see if the reap job does what it's supposed to
          • (A little bit heavy handed): Just reboot the server, which will bring down ALL processes. 
          • 2. Re: Tableau Server - Unable to Delete tde File
            Sheila Tweddle

            Hi Russell


            Very good answer but possibly not the one I was looking for!


            Because this is happening on a continual basis your choices aren't really feasible, so I'll probably have to live with errors in the Event Log and extra tde files hanging around for longer than necessary.


            Thank you for your time and concise answer.