.
Symptom
After upgrading to IQ Server 185, loading legacy Success Metrics data returns a 500 status code
"An error occurred loading data. Internal Server Error"
In the application log clm-server.log matching the error id to the request finds messages such as:
2025-01-03 19:39:44,518+0000 ERROR [dw-129 - GET /rest/successMetrics/report/cd25d375cc0042eeb96f6034468833f7/chartData?timestamp=1735933184061] user@example.com
com.sonatype.insight.jaxrs.error.ErrorResponseGenerator - 500 Constraint facts are not loaded yet for policyViolationId=8ee349329c29457c84e73bd1da51f112. Use the PolicyViolationDAO.loadConstraintFacts() method to load the constraint facts explicitly. (ID 6ab5278c377b4780)
java.lang.IllegalStateException: Constraint facts are not loaded yet for policyViolationId=8ee349329c29457c84e73bd1da51f112. Use the PolicyViolationDAO.loadConstraintFacts() method to load the constraint facts explicitly.
at com.sonatype.insight.brain.model.policy.AbstractPolicyViolation.getConstraintFacts(AbstractPolicyViolation.java:203)
at com.sonatype.insight.brain.policy.evaluator.PolicyViolationComparator.compare(PolicyViolationComparator.java:50)
at com.sonatype.insight.brain.policy.evaluator.PolicyViolationComparator.compare(PolicyViolationComparator.java:19)
at java.base/java.util.TreeMap.getEntryUsingComparator(Unknown Source)
at java.base/java.util.TreeMap.getEntry(Unknown Source)
at java.base/java.util.TreeMap.get(Unknown Source)
at com.sonatype.insight.brain.successmetrics.PolicyViolationAggregationService.createSortedEvaluationEvents(PolicyViolationAggregationService.java:401)
at com.sonatype.insight.brain.successmetrics.PolicyViolationAggregationService.generatePolicyViolationAggregations(PolicyViolationAggregationService.java:197)
at com.sonatype.insight.brain.successmetrics.PolicyViolationAggregationService.generatePolicyViolationAggregations(PolicyViolationAggregationService.java:137)
at com.sonatype.insight.brain.successmetrics.SuccessMetricsReportDataService.getChartData(SuccessMetricsReportDataService.java:165)
at com.sonatype.insight.brain.successmetrics.SuccessMetricsReportResource.getChartData(SuccessMetricsReportResource.java:89)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Explanation
A bug has been recorded with ID CLM-33047 affecting the legacy Success Metrics data in release 185 of IQ Server.
Advice
This issue has been resolved in IQ version 187 under CLM-33047.
In release 185, a new Success Metrics Enterprise Dashboard has been released which is intended to replace the legacy success metrics affected by this bug. Please try the new Success metrics Dashboard as it may already provide replacement value for your legacy Success Metrics use case.