Michael Moser created NIFI-1085:
-----------------------------------
Summary: WebClusterManager starves immutable API requests under
heavy load conditions
Key: NIFI-1085
URL: https://issues.apache.org/jira/browse/NIFI-1085
Project: Apache NiFi
Issue Type: Improvement
Components: Core Framework
Affects Versions: 0.3.0
Reporter: Michael Moser
With a 6 node cluster with thousands of components on the graph, we noticed
that the ReentrantReadWriteLock in WebClusterManager can starve NiFi Web Server
threads that are waiting on the read lock.
Thread dumps shows the HeartbeatMonitoringTimerTask thread holding the write
lock while many Web Server threads are parked waiting on the read lock.
Modify the ReentrantReadWriteLock to operate in fair mode (to give the lock to
threads waiting the longest, such as those wanting the read lock).
Modify the HearbeatMonitoringTimerTask timer to not be scheduleAtFixedRate()
but instead use schedule() to execute it less often if garbage collection
blocks it.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)