Tableau Software is continuously working on Server’s architecture to make it more robust, modern and enterprise grade. However, it still has its design heritage and technical dept that make some tasks too complex or uncomfortable. One of these is the way how minor and major configuration changes can be applied. Even if we made tiny changes like enabling repository’s readonly user or allowing peeps to access systeminfo.xml we do need a complete server restart.
Currently, the limitations of the out-of-the-box online reload are:
- tabadmin service architecture (including tabspawn) and its current feature set
- configuration template/file management
- windows, as operating system (lack of posix signals)
- unsophisticated traffic management between apache2 and tomcat services
- reload hooks not implemented in webapps (like no support for JNI re-initalization)
Don’t worry if some of these points are not clear, we will discuss all of them in details sooner or later. In advance, there is a rumour that Tableau is working on Linux version of the Server. That will require a new tabadmin model as well as additional options to reload service configuration without restart using HUP signals in apache2 or redis for instance. Thus, when these changes happen my current post might be outdated I think at the moment it makes sense and helps to understand how Server operates.