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/11/09 18:02:11 UTC

[jira] [Updated] (NIFI-1085) WebClusterManager starves immutable API requests under heavy load conditions

     [ https://issues.apache.org/jira/browse/NIFI-1085?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Moser updated NIFI-1085:
--------------------------------
    Fix Version/s: 0.4.0

> 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
>             Fix For: 0.4.0
>
>
> 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)