Salesforce

WorldServer - how are DependencyFiles folders created and how are they removed?

« Go Back

Information

 
TitleWorldServer - how are DependencyFiles folders created and how are they removed?
URL Name000021033
SummaryWe have a high number of folders under the DependencyFiles folder in our WorldServer environment. Many folders have a "Modified On" date that is older than the oldest active project's creation date. Could you please let us know how these dependency files should be processed? Are they supposed to be deleted by the Garbage collector?

This article provides a detailed answer. The behaviour needs to be improved to ensure that all DependencyFiles folders are removed by the Segmented Assets Cleaner. This has been filed as defect CRQ-34923 and is planned to be fixed in version 11.8.2.
Scope/EnvironmentWorldServer
Question
We have a high number of folders under the DependencyFiles folder in our WorldServer environment. Many folders have a "Modified On" date that is older than the oldest active project's creation date. Could you please let us know how these dependency files should be processed? Are they supposed to be deleted by the Garbage collector?
Answer
DependencyFiles folders are created in two ways:

1- DependencyFiles folders created during Segmentation: When one source file is segmented, one dependency file folder is created. One folder per source file and per target language.

Example: you create a project with 2 source files and 2 target languages: 4 folders are created under the DependencyFiles folder. These folders have random, short names like F220939 etc.

For instance:

User-added image

Each folder contains a copy of the source file where the name is changed appending a random alphanumeric text to the original file name, like DF12582_filename.docx. Example:

User-added image

2- DependencyFiles folders created during the import of a Return package: If one or more WSXZ exports are done, the consequent import(s) creates a new folder. Multiple imports=multiple folders, one for each import and one for each file. So even if a Return package contains more than one SDLXLIFF file, one folder will be created for each file in the same way as the folders created during segmentation, also with regard to the naming convention.
 

Are DependencyFiles folders removed by the Segmented Assets Cleaner once a project and its tasks are completed or cancelled?


1- Folders created during the Import of Return packages are always removed by the Garbage Collector, more specifically by the Segmented Assets Cleaner. That is because the import overrides the connection of the original segmentation to the Database and creates orphaned entries in the Database. Those orphaned entries are cleaned up by the Segmented Assets Cleaner. In the ws-legacy or gc.text logs you will find corresponding entries like:

[2023-07-27 19:15:41,670] WARN Segmented Asset Garbage Collector [4f3774f7] com.idiominc.ws.maintenance.PhantomSegmentedAssets: Cleaned orphaned import data.

2- Folders created during segmentation are removed by the Segmented Assets Cleaner ONLY if no imports have been done after the segmentation. For instance, if a project is translated in Browser Workbench only, without any export/import, the DependencyFiles folder will be removed. If that is the case,  in the ws-legacy or gc.log log files, you will find corresponding entries like:

[2023-07-27 18:30:01,883] WARN Segmented Asset Garbage Collector [7bda5cbf] com.idiominc.ws.maintenance.PhantomSegmentedAssets: Removed 4 segmented assets.

However, if the segmentation is followed by a WSXZ import, the folder created during segmentation will not be removed or cleaned up. The reason for this is that the creation of a folder during import removes the connection to the Database entry that is related to segmentation folder. 

3- Another scenario where folders created during segmentation are not removed by the Segmented Assets Cleaner is when the source file is segmented again as part of the workflow. In that case, if the second segmentation is not followed by an import, the folder created during the second segmentation will be cleaned up, but the folder created during the first segmentation will not be cleaned up and will remain in the DependencyFiles folder.

That is true also if more segmentations are done: only the last segmentation folder is removed (if no further import is done).

Again: the presence of one or more segmentations does not affect "import" folders: those are always removed, no matter if they are followed by more imports or more segmentation folders.

This behaviour causes many DependencyFiles folders not to be removed, requiring a manual clean-up or a scheduled clean-up as described in this article.

The behaviour described in #2 and #3 needs to be improved to ensure that all DependencyFiles folders are removed by the Segmented Assets Cleaner. This has been filed as defect CRQ-34923 and is planned to be fixed in version 11.8.2.
Reference
Attachment 1 
Attachment 2 
Attachment 3 
Attachment 4 
Attachment 5 

Powered by