Database Issues
GridServer has two databases: an internal database, only used internally by the Manager; and an optional external database for reporting. For information about installing the reporting database, see the GridServer Installation Guide. For a complete description of the reporting database schema, see Reporting Database Tables.
Connection Problems
If GridServer loses connection to a database, you see a message in the Manager log similar to this:
Warning: [DirectorReportingPlugin] Database is unavailable: java.sql.SQLException: while creating new connection to :jdbc:oracle://rcfdsp01.com:9158/, Connection refused
Use a tool like DBVisualizer to access the SQL database using the JDBC URL and Driver JAR to check if you can connect and access the database.
JDBC Problems
If GridServer cannot find the JDBC driver, a message similar to this appears:
error for postgres: SQL block processing is ON: "begin" begins block "end" ends block "/" terminates block statement Overridden newline character separates statements in blocks Performing Class.forName() on driver org.postgresql.Driver Driver jar needs to be placed in the classpath java.lang.ClassNotFoundException: org.postgresql.Driver at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at com.datasynapse.commons.sql.CreateDB.validateProperties(CreateDB.java:112) at com.datasynapse.commons.sql.CreateDB.<init>(CreateDB.java:52) at com.datasynapse.commons.sql.CreateDB.main(CreateDB.java:43)
The JDBC JAR needs to be in DS_MANAGER
/webapps/livecluster/WEB-INF/lib
.
Reporting Database Write Failures
If GridServer cannot write to the reporting database, it starts discarding events and this message appears:
[BrokerReportingPlugin] Client Backlog full, event discarded
Also, the Manager might fail to commit a piece of reporting data, and this message appears:
Severe: [DirectorReportingPlugin] engine stat commit failed
This must not affect operation of the grid, as the reporting features are separate from the core functionality. If this message occurs once, it is most likely caused by a temporary connection problem with the reporting database and can safely be ignored. If several messages like this occur, it indicates that the reporting database parameters need to be adjusted, especially if reporting data is relied on for statistical data.
Reducing the Transaction Isolation to TRANSACTION_READ_UNCOMMITTED
improves the performance of inserts into the reporting database. Increasing the number of connections to the database does not help because GridServer has a set number of threads running to the database from the backlogs. Increasing the size of the backlogs helps deal with peaks of activity in the Manager. Increasing the commit interval to 30 or 60 seconds also improves performance. Use of auto commit is not recommended for a production grid.