How do I resolve LQMReportingUpdate error: "Could not update LQM reporting model"?

0 Likes

Problem:

How do I resolve LQMReportingUpdate error: "Could not update LQM reporting model"?

Resolution:

To make reporting on test definitions and their attributes more efficient, the LQM Reporting tables store redundant data in flat tables. The tables are continuously updated by a background thread in a defined time interval. The default setting is 5 seconds, so every change in data is written to the LQM Reporting tables within 5 seconds. See the SilkCentral Administration Module Online Help (../silkroot/doc/en/SCAdminModule/SilkCentral/HTML/index.htm) for information on changing the update interval.

The LQM_DataLoads table is used by the updating thread to keep track of the data loads and the intervals to be processed. This table is not used for reporting purposes. For reporting purposes, the database view LQM_V_Tests combines information from the tables LQM_Tests and LQM_TestUDAs. This process is stored in the LQM_DataLoads table. When there is a violation or inconsistencies in this combination, the following error is produced in the Application Server log.

E;OV;2008-11-19;16:19:32;TM;LQMReportingUpdate;Could not update LQM reporting model: java.sql.SQLException: ORA-00001: unique constraint (BSC.I_LQM_TESTUDA_ID) violated

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:966)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1170)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3339)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3423)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:101)
at com.segue.scc.util.jdbc.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:225)
at com.borland.tm.lqm.reporting.UpdateLQMReporting.insertNewTests(UpdateLQMReporting.java:623)
at com.borland.tm.lqm.reporting.UpdateLQMReporting.update(UpdateLQMReporting.java:554)
at com.borland.tm.lqm.reporting.LQMReportingUpdater.run(LQMReportingUpdater.java:86)
at com.segue.scc.util.threading.RunRegularlyThread.run(RunRegularlyThread.java:105)
at com.segue.scc.util.threading.RunRegularlyThread.run(RunRegularlyThread.java:53)

To resolve the issue, please execute the following SQL query on your SilkCentral Test Manager database.

DELETE FROM LQM_DataLoads

This will force the system to repopulate the LQM tables and clean up any inconsistencies.

Note: Please perform a database backup before performing the above SQL operation. It is also best to stop the Application Server before executing the query - this avoids having to do this more than once. When everything is repopulated there should be no further exceptions in the log.


Old KB# 25157
Comment List
Anonymous
Related Discussions
Recommended