You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by "Michael Moser (JIRA)" <ji...@apache.org> on 2015/10/29 16:50:27 UTC
[jira] [Created] (NIFI-1085) WebClusterManager starves immutable
API requests under heavy load conditions
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)