Volatile Data Sources - What is it and when do I need it?

What is Volatile Data Sources?

This is a configuration setting that tells Yellowfin to check all of the data source connections every 30 seconds and, if a connection is bad or closed, to reset that connection.

When do I need it?

As data sources frequently reside on servers physically separate from the primary Yellowfin installation, they can be subject to bad and unstable connections. This will typically be reflected in the yellowfin.log with errors similar to 

WARN (JDBCConnection:call) - Error occured when rolling back uncommited changes on connection: java.sql.SQLException: I/O Error: Connection reset

connection exception: connection does not exist

Or within the source.log files with similar correlated errors:

Network error IOException: Connection refused: connect

Connection object is closed

Note that there are many more errors that signify the need for this setting, if you are having problems that you think may be connection related, it will worth enabling Volatile Data Sources. 

How Do I enable Volatile Data Sources?

To enable volatile data sources, you will need to run three queries directly against your configuration database. As querying your configuration database has the potential to cause permanent damage to your Yellowfin instance, it is highly recommended that you consult with your DBA to do this, and back up your database prior to making any changes.

This query simply turns on the functionality

INSERT INTO Configuration (iporg, configtypecode, configcode, configdata)
VALUES (1, ‘SYSTEM’, ‘VOLATILESOURCES’, ‘TRUE’);

This query sets how many milliseconds the timeout will be before retrying

INSERT INTO Configuration (iporg, configtypecode, configcode, configdata)
VALUES (1, ‘SYSTEM’, ‘VOLATILETIMEOUT’, ‘3000’);

This query sets the number of times Yellowfin will retry

INSERT INTO Configuration (iporg, configtypecode, configcode, configdata)
VALUES (1, ‘SYSTEM’, ‘VOLATILERETRIES’, ‘5’);
Is article helpful?