[
https://issues.apache.org/jira/browse/NIFI-1085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14989959#comment-14989959
]
ASF subversion and git services commented on NIFI-1085:
-------------------------------------------------------
Commit 6add372bc142304ef25e0bafb49709654a995f08 in nifi's branch
refs/heads/NIFI-1085 from [~boardm26]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=6add372 ]
NIFI-1085 WebClusterManager fair locking and HeartbeatMonitoringTimerTask
scheduling
> 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)