This is an automated email from the ASF dual-hosted git repository.

joewitt pushed a commit to branch NIFI-16370
in repository https://gitbox.apache.org/repos/asf/nifi.git

commit 21b25196e06f06b4ed1c97d50b4b4bd2745a9eaa
Author: Joseph Witt <[email protected]>
AuthorDate: Sat Sep 19 10:40:55 2026 -0700

    NIFI-16370 Use non-fair locking in SwappablePriorityQueue
    
    Co-authored-by: Cursor <[email protected]>
---
 .../java/org/apache/nifi/controller/queue/SwappablePriorityQueue.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git 
a/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/queue/SwappablePriorityQueue.java
 
b/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/queue/SwappablePriorityQueue.java
index 57f18cc7640..a07101abdfe 100644
--- 
a/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/queue/SwappablePriorityQueue.java
+++ 
b/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/queue/SwappablePriorityQueue.java
@@ -107,7 +107,9 @@ public class SwappablePriorityQueue {
         this.dropAction = dropAction;
         this.swapPartitionName = swapPartitionName;
 
-        final ReentrantReadWriteLock lock = new ReentrantReadWriteLock(true);
+        // Queue ordering is controlled by QueuePrioritizer, not 
lock-acquisition FIFO.
+        // Non-fair locking avoids a thread-handoff convoy on the 
high-frequency put/poll path.
+        final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
         readLock = new TimedLock(lock.readLock(), 
flowFileQueue.getIdentifier() + " Read Lock", 100);
         writeLock = new TimedLock(lock.writeLock(), 
flowFileQueue.getIdentifier() + " Write Lock", 100);
     }

Reply via email to