TIBCO Spotfire Server becomes unresponsive when opening Information links based on Amazon Redshift Data-Source

TIBCO Spotfire Server becomes unresponsive when opening Information links based on Amazon Redshift Data-Source

book

Article ID: KB0075524

calendar_today

Updated On:

Products Versions
Spotfire Server 10.8 and earlier versions

Description

When opening Information links based on Amazon Redshift data-sources in Spotfire Analyst or Web player, you may see TIBCO Spotfire Server (TSS) becomes unresponsive without allowing any user to access Spotfire environment. In this case it will cause entire server to freeze and only option to recover from this situation is to kill the Spotfire server process and start it again or reboot the machine.

In server.log, repeated JVM pause warnings can be seen after information link execution has started

--------------------------------------------------------
WARN 2020-03-20T09:38:20,968-0500 [] ignite.internal.IgniteKernal%TIBCO-Spotfire: Possible too long JVM pause: 821 milliseconds.
--------------------------------------------------------

There may also be error seen with Blocked system-critical thread:
--------------------------------------------------------
ERROR 2020-03-20T09:51:11,432-0500 [] util.typedef.G: Blocked system-critical thread has been detected. This can lead to cluster-wide undefined behaviour [threadName=partition-exchanger, blockedFor=60s]
--------------------------------------------------------

This kind of behavior is mostly seen when IL pulls large number of rows (more than 1 million) from the database.

Issue/Introduction

This article provides solution to unresponsive Spotfire server that is caused due to opening Information links based on Amazon Redshift datasource.

Resolution

To fix the issue , follow one of the approach mentioned below :


A. Upgrade Spotfire Server to 10.9 or higher.

B. For TSS version 10.8.x and earlier versions , follow below steps to modify datasource template for Amazon Redshift in server configuration

  1.   Edit the data source template for Redshift data source.
  • Export current server configuration from uiconfig tool or using  CLI command export-config  
  • Open exported configuration in text or xml editor and search for ‘Amazon Redshift’ Data source template
 
    2.   Locate the end tag for the jdbc type settings ,  looking like this
</jdbc-type-settings>
    3.  Before that end tag,add <sql-runtime>com.spotfire.ws.im.ds.sql.postgresql.PostgresSQLRuntime</sql-runtime>. Result should look like
<sql-runtime>com.spotfire.ws.im.ds.sql.postgresql.PostgresSQLRuntime</sql-runtime>
</jdbc-type-settings>
    4. Save the changes. After this change data source template will look like below 
<jdbc-type-settings>
  <type-name>Amazon Redshift</type-name>
  <driver>com.amazon.redshift.jdbc.Driver</driver>
  <connection-url-pattern>jdbc:redshift://&lt;endpoint&gt;:&lt;port&gt;/&lt;database&gt;</connection-url-pattern>
  <ping-command>SELECT 1</ping-command>
  <metadata-provider>com.spotfire.ws.im.ds.sql.BasicJDBCMetadataProvider</metadata-provider>
  <fetch-size>10000</fetch-size>
  <batch-size>100</batch-size>
  <table-types>TABLE, VIEW</table-types>
  <supports-catalogs>true</supports-catalogs>
  <supports-schemas>true</supports-schemas>
  <supports-procedures>true</supports-procedures>
  <max-in-clause-size>1000</max-in-clause-size>
  <condition-list-threshold>10000</condition-list-threshold>
  <expand-in-clause>false</expand-in-clause>
  <table-expression-pattern>[$$catalog$$.][$$schema$$.]$$table$$</table-expression-pattern>
  <procedure-expression-pattern>[$$catalog$$.][$$schema$$.]$$procedure$$</procedure-expression-pattern>
  <time-format-expression>to_char($$value$$, 'HH24:MI:SS')</time-format-expression>
  <date-time-format-expression>$$value$$</date-time-format-expression>
  <sql-runtime>com.spotfire.ws.im.ds.sql.postgresql.PostgresSQLRuntime</sql-runtime>
</jdbc-type-settings>
5. Import configuration back to the database using import-config command or from uiconfig tool
6.  Restart Spotfire server
7.  Resave all the Redshift datasources from Information Designer.
 -  Login to Spotfire analyst using an administrator account , in Information designer open all Amazon Redshift data-sources in sequence and re-save them so that they all will use changed DS template
8. Verify if the issue is resolved by opening Redhsift information links.
9.  If still have issues, contact TIBCO Spotfire Support by creating a support ticket.

       

Additional Information

Doc: Upgrading Spotfire