You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by jo...@apache.org on 2022/03/14 15:39:04 UTC
[nifi] branch main updated: NIFI-9790: This closes #5860. Fixed race condition in which SwappablePriorityQueue could attempt to access the 0th element of an empty collection
This is an automated email from the ASF dual-hosted git repository.
joewitt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/main by this push:
new 7ff7070 NIFI-9790: This closes #5860. Fixed race condition in which SwappablePriorityQueue could attempt to access the 0th element of an empty collection
7ff7070 is described below
commit 7ff70706ee6c9b3ea1c508701936c07bb0e6da40
Author: Mark Payne <ma...@hotmail.com>
AuthorDate: Fri Mar 11 16:28:31 2022 -0500
NIFI-9790: This closes #5860. Fixed race condition in which SwappablePriorityQueue could attempt to access the 0th element of an empty collection
Signed-off-by: Joe Witt <jo...@apache.org>
---
.../java/org/apache/nifi/controller/queue/SwappablePriorityQueue.java | 2 ++
1 file changed, 2 insertions(+)
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/queue/SwappablePriorityQueue.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/queue/SwappablePriorityQueue.java
index 81e96c8..c8f2b18 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/queue/SwappablePriorityQueue.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/queue/SwappablePriorityQueue.java
@@ -460,6 +460,8 @@ public class SwappablePriorityQueue {
// Because we cannot obtain the write lock while already holding the read lock, we set a flag so that we
// can migrate swap to active queue only after we've released the read lock.
mustMigrateSwapToActive = true;
+ } else if (swapQueue.isEmpty()) {
+ return FlowFileAvailability.ACTIVE_QUEUE_EMPTY;
} else {
top = swapQueue.get(0);
}