KNOWLEDGE BASE

When Opening a view, Tableau Server reports an error "The Hyper server closed the connection unexpectedly: pqsecure_raw_read"


Published: 15 Apr 2022
Last Modified Date: 18 Apr 2022

Issue

Unable to access reports due to hyper error:
[SQLSTATE:08003] The Hyper server closed the connection unexpectedly: pqsecure_raw_read
The server process may have been shut down or terminated before or while processing the request.
Unable to connect to the Tableau Data Extract server "". Check that the server is running and that you have access privileges to the requested database.

Hyper logs will also indicate tcp requests are being rejected from local or known addresses. 

Environment

  • Tableau Server

Resolution

Print out network adapter addresses using one of the following commands:
  • Windows: ipconfig /all
  • Linux: ifconfig -a
Make note of ipv6 addresses assigned to each adapter. Take note of the ipv6 addresses in particular:
  • Windows: ipconfig /all
  • Linux: ifconfig -a
Open the following file:
  • Windows (Default): C:\ProgramData\Tableau\Tableau Server\data\tabsvc\config\hyper<build number>\hyper_standalone.yml
  • Linux (Default): /var/opt/tableau/tableau_server/data/tabsvc/config/hyper<build number>/hyper_standalone.yml
Look for the line beginning with "Whitelist:" and compare this against IP addresses assigned to the network interfaces from previous. If the address or zone ID of the Ipv6 address has changed, this might result in requests being rejected by Hyper for not matching our pre-determined whitelist. 

To refresh the whitelist in the hyper_standalone.yml file, perform the following steps:
  1. Stop Tableau Server. 
    • tsm stop
  2. Apply pending changes to flush configuration settings
    • tsm pending-changes apply
  3. Start Tableau Server
    • tsm start
  4. Verify that the hyper_standalone.yml file's whitelist now matches all addresses assigned to network adapters on the machine. 
If the whitelist is not updated, make a negligible change (such as querying backgrounder.querylimit) and modifying it slightly (i.e. change 7200 seconds to 7201). Then re-apply pending changes. Ex:
> tsm configuration get -k backgrounder.querylimit
7200
> tsm configuration set -k backgrounder.querylimit -v 7201
> tsm pending-changes apply

 

Cause

If the network adapters or addresses change, they may affect Tableau Server's running configuration and result in rejected requests. This could happen if temporary addressing is enabled, or if updates modify or flush address assignments. 

Additional Information

Hyper logs or logsharks will show hyper errors that tcp clients are being rejected, and generally there will be an ipv6 address in the remote host address:
{"ts":"2022-04-14T14:02:24.687","pid":1234,"tid":"68d8","sev":"error","req":"-","sess":"n14325ku345unnlin453","k":"tcp-ip-client-rejected","v":{"local-address":"::","remote-address":"fe80::149b:b9e3:9496:16fb%4"}}

This means Hyper is rejecting requests because the address is not in the whitelist. Note that Ipv6 addresses can be rejected even if only the zone ID changes (i.e. the %4 at the end). Updating the configuration of Tableau Server recreates this file with the current network interface configurations. This will provide the correct interface addresses and link-local addresses in the whitelist.
Did this article resolve the issue?