Matt Burgess created NIFI-13422:
-----------------------------------
Summary: QueryNiFiReportingTask gives error when joining tables
Key: NIFI-13422
URL: https://issues.apache.org/jira/browse/NIFI-13422
Project: Apache NiFi
Issue Type: Bug
Reporter: Matt Burgess
Fix For: 1.26.1
Using QueryNiFiReportingTask in 1.x, an error occurs when doing a join on
tables, such as:
SELECT
CONNECTION_STATUS.id,
CONNECTION_STATUS.name,
CONNECTION_STATUS.sourceName,
CONNECTION_STATUS.destinationName,
CONNECTION_STATUS.queuedCount,
CONNECTION_STATUS.backPressureObjectThreshold,
CONNECTION_STATUS_PREDICTIONS.predictedTimeToCountBackpressureMillis
FROM CONNECTION_STATUS
JOIN CONNECTION_STATUS_PREDICTIONS ON
CONNECTION_STATUS_PREDICTIONS.connectionId = CONNECTION_STATUS.id
WHERE
predictedTimeToCountBackpressureMillis < 300000
OR (backPressureObjectThreshold <> 0 AND queuedCount * 100 /
backPressureObjectThreshold > 75)
The error is:
2024-06-13 17:26:03,034 INFO
org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent:
QueryNiFiReportingTask[id=1229bc0c-0190-1000-ffff-ffffca3d5135] started.
2024-06-13 17:26:03,048 ERROR
org.apache.nifi.reporting.sql.QueryNiFiReportingTask:
QueryNiFiReportingTask[id=1229bc0c-0190-1000-ffff-ffffca3d5135] Error running
task QueryNiFiReportingTask[id=1229bc0c-0190-1000-ffff-ffffca3d5135] due to
java.lang.AssertionError: Rule's description should be unique; existing
rule=ConnectionStatusProjectTableScanRule; new
rule=ConnectionStatusProjectTableScanRule
2024-06-13 17:26:06,437 INFO
org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent: Stopped
scheduling QueryNiFiReportingTask[id=1229bc0c-0190-1000-ffff-ffffca3d5135] to
run
This is because the ScanRules use a singleton instance. The main (2.x) branch
does not suffer from this because that bundle has been since refactored, but we
should fix it on the 1.x branch. The ScanRule implementations should create new
instances as necessary, and the description field is not necessary.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)