Why Subscriptions are not preferred for Tableau server?
- Subscriptions send out email at defined intervals, which does have a lot of conveniences for some users. However Tableau’s strength is interactive. The subscription is counter-interactive.
- It is nothing wrong for users to get Tableau views in their inbox. The problem is that server admins or workbook owners have no way to tell if the users open the emails at all. Overtime, admins can’t tell if users are actually using the Tableau server or not.
What is the worse scenario of subscriptions?
I found that some ‘smart’ publishers mis-use subscriptions in such way that they know that their workbook render is too slow (like 30 minutes render) for user to render so they use subscriptions to send emails to users. Why it is bad?
- It can take a lot of backgrounder process
- It is just a bad behavior for those publishers who should spend more time to tune their dashboard for better perf
- It impacts other extract jobs. As matter of fact, backgrounder priority is subscription, incremental extract, full extract. Image that 30 min subscription job to 20 people will potentially block a lot of small (2-3 mins) important extracts…..
How to implement server governance process to let offensive publishers feel the pain?
- Reduce the subscriptions.timeout from default 30 mins to a shorter time, like 2-5 mins.
- This value applies separately to each view in the workbook, so the total length of time to render all the views in a workbook (the full subscription task) may exceed this timeout value.
- For example, if the subscriptions.timeout is 3 mins and workbook has 4 views, the workbook will not timeout till 3×4 = 12 mins
- The commend is tsm configuration set -k subscriptions.timeout -v 180 (where 180 seconds is 3 minutes)
What is the problem of this subscriptions.timeout?
The problem is that Tableau server sends the following failure notification to subscribers who had no idea what happened. A lot of subscribers assume that something is wrong on server while the workbook owner had no idea about the timeout.
The view snapshot in this email could not be properly rendered.
To see the view online, go to link to the workbook view
If it failure like this, after 5 consecutive times it will skip from subscription.
What is the solution to streamline the subscriptions.timeout message?
- Create VizAlert to look for subscriptions.timeout error
- Find out workbook owner based on workbook_id
- Create VizAlert message about subscription time out policy
- Send VizAlert to both subscribers and workbook owner
Conclusion:
- Necessary governance processes are required to scale Tableau to enterprise
- The core concept of governance is to encourage good behaviors and disencourge bad behaviors.
- It is a bad behavior of subscribing users to a super slow workbook
- Reduce subscriptions.timeout to a few minutes (for example: tsm configuration set -k subscriptions.timeout -v 180) and use VizAlert to send message to workbook owner about subscriptions.timeout is one solution to counter this bad behavior.
Amazing article on subscriptions.