知識庫

Error "Sign In Failed" On Login Screen in Browser After Upgrading Tableau Server


發佈時間 : 25 Aug 2016
上次修改日期 : 24 Aug 2022

問題

After upgrading to Tableau Server 10, the following issues may occur:

Attempting to login to Tableau Server may fail with a "Sign in failed" error

OR

The logs may indicate the following error:

"PSQLException: Connection to localhost:8060 refused"

OR

The repository may show as 'stopped' or 'setting up'. 

To determine whether this solution is applicable, check the clustercontroller log at the time of failure for the following error:

 WARN  : com.tableausoftware.cluster.postgres.SpawnPostgresRunner - Monitoring thread for the master instance didn't start. Trying failover...
org.postgresql.util.PSQLException: FATAL: the database system is starting up
...
INFO  : com.tableausoftware.cluster.postgres.SpawnPostgresRunner - Failing over master Postgres to localhost:8060
INFO  : com.tableausoftware.cluster.postgres.SpawnPostgresRunner - Stopping the monitoring thread for Postgres instance on localhost:8060
INFO  : com.tableausoftware.cluster.postgres.SpawnPostgresRunner - Starting the monitoring thread for master Postgres instance on localhost:8060

環境

Tableau Server 10

解決方法

Option 1:
Work with your IT team to increase disk performance or exclude tableau folders from anti-virus scans on the computer running Tableau Server.
Option 2:
Increase the clustercontroller timeout setting for Postgres (the Tableau Server repository). Open the Command Prompt as an administrator and run the following commands:
tabadmin stop
tabadmin set clustercontroller.pgsql_connection_timeout_ms 6000
tabadmin config
tabadmin start

 
If the issue persists after setting the value to 6000, the value can be increased again, up to a maximum of 60000. For best results, we recommend using the lowest value possible.

原因

Postgres is taking longer than the default amount of time (60 seconds) to start up. This behavior can be caused by slow Input/Outpout or other environmental factors.  

其他資訊

Tableau Server waits a set amount of time (default 60 seconds) for the database to startup before retrying or restarting it. The following 2 workgroup.yml settings determine the timeout:

clustercontroller.pgsql_connection_attempts  (default value=20)
clustercontroller.pgsql_connection_timeout_ms (default value=3000)

The product of these 2 values determines the total amount of the timeout. (60000ms or 60 seconds).

Increasing the value of clustercontroller.pgsql_connection_timeout_ms will increase the amount of time clustercontroller waits for a response from Postgres before attempting failover. Increasing the values of this setting may negatively impact the performance of Tableau Server. For example, it may increase the amount of time Tableau Server is unresponsive in the event of a failure, because clustercontroller will wait longer before restarting Postgres if it is actually down. This is why we recommend using the lowest possible value for this setting.  
The best solution will always be to investigate what environmental factors are causing Postgres to start up slowly. Modifying the clustercontroller.pgsql_connection_timeout_ms setting may be useful as a quick solution while slow performance is being investigated for a longer-term fix. 
這篇文章是否解決了問題?