KNOWLEDGE BASE

Flow in a Linked Task may refer to an old input hyper file if it uses the output hyper file of previous flow as its input


Published: 18 Jul 2023
Last Modified Date: 25 Jul 2023

Issue

When running a Linked Task with some flows which meets the conditions like below on Tableau Server with multiple Filestore nodes, the flows in the Linked Task may refer to a old input data (hyper file) when it starts running.
1. The running time of these flows are very short, such as each flow just runs several seconds.
2. The latter flow uses the output hyper file of previous flow as its input.
3. Tableau Server has multiple Filestore nodes.

For example, consider there are 2 flows in a Linked Task like below.

FlowA: just runs several seconds, and its output is a hyper file named as OutputA.
FlowB: also just runs several seconds, and it uses OutputA as its input.

When running this Linked Task, FlowB comes to run, it may refer to an old OutputA hyper file which has been updated by FlowA during this Linked Task running.

Environment

  • Tableau Server with multiple Filestore node
  • Linked Task

Resolution

Option 1

Merge FlowA and FlowB as one flow instead of using them in a Linked Task since their running time are very short.
By this way your flows will not output additional OutputA hyper file so that you can avoid the effection of the sync processing between the filestore nodes.

Below is an example to show how to merge 2 simple flows:
Step 1, Open you FlowA in Tableau Server Flow Editing Window, and click File > Insert Flow.
User-added image

Step 2, In the Add Flow window, change the Flow Type to [All Flows], select FlowB then click Add.
User-added image

Step 3, remove the output Step of FlowA which creates OutputA hyper file.
User-added image

Step 4, remove the input Step of FlowB which connects to OutputA hyper file.
User-added image

Step 5, Drag the current last step (for this example, it is Clean A) of FlowA and drop it to the current first step (for this example, it is Clean B) of FlowB with Add type
User-added image

Step 6, publish the flow as a new one by clicking Publish As with new name like FlowA+B.
User-added image
User-added image

 

Option 2

Add FlowA and FlowB into different Schedule to make them run with a certain time interval, instead of runing them with Linked Task.

Cause

The filestore nodes need to take some time to complete the sync processing of updated hyper file between each others. It is as expected.

So in the Linked Task, if the previous flow (For this example, it is FlowA) running time was very short (such as several seconds), and the latter flow (For this example, it is FlowB) was trying to get its input hyper file (For this example, it is OutputA) from the filestore node which was still in syncing processing of the updated output hyper file, it got an old OutputA hyper file.
 
Did this article resolve the issue?