Data Table Regression Testing
If the startup.regression.datatable.runonce property is set to true in Panopticon.properties, the server will run a data table regression test the next time it starts up. The server goes through all workbooks and tries to load the data tables in them one by one. This can take some time. When the test has completed, the server proceeds to start up as usual. The startup.regression.datatable.runonce property is reset to false after a test run, so you need to change it each time you want to run the test.
You can configure the server to only test data tables in workbooks in particular folders with the startup.regression.datatable.include.folders and startup.regression.datatable.exclude.folders properties. This configuration can be useful if you have numerous workbooks, or have workbooks that are "work in progress" in some folders.
Any errors in the data table loading are written to a CSV file in <appdata>/Reports/. The errors include the following information:
q date and time when the test ran
q the full workbook path
q the data table title
q the error message
q the server.id, if the property is set
If there are no errors in any data table, then there will not be a file written.
The errors are also written to the server logs, as usual, so more information may be found there.
For data tables that have parameters, the default values -- as declared on the data table -- will be used. This means that a data table may fail in the regression test if you normally initialize a parameter using an action dropdown, the URL, the API, or any other means.
The server does not treat empty results as an error, and this will not be reported. For real-time data tables, it starts the subscription and then immediately stops it, so most of these will not have any rows. The regression test is primarily intended for configuration issues (e.g., forgot to change a host name, renamed a table in a database), not to check data health.