curator-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tom Dyas (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CURATOR-223) PathChildrenCache (wastefully) creates a thread per monitored node.
Date Tue, 16 Jun 2015 21:47:01 GMT

    [ https://issues.apache.org/jira/browse/CURATOR-223?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14588843#comment-14588843
] 

Tom Dyas commented on CURATOR-223:
----------------------------------

My first attempt at threading through ExecutorService from ServiceCacheBuilder: https://github.com/apache/curator/pull/83

> PathChildrenCache (wastefully) creates a thread per monitored node.
> -------------------------------------------------------------------
>
>                 Key: CURATOR-223
>                 URL: https://issues.apache.org/jira/browse/CURATOR-223
>             Project: Apache Curator
>          Issue Type: Improvement
>          Components: Recipes
>    Affects Versions: 2.7.1
>            Reporter: Tom Dyas
>
> PathChildrenCache creates a single-threaded executor. In the aggregate, this means there
is a thread for every monitored node.
> In my company's use case, we use ServiceCache (which uses PathChildrenCache) to monitor
service discovery nodes for the locations of many sharded immutable key/value stores used
by our services. We saw in excess of 250 threads devoted to the PathChildrenCache's used by
ServiceCache. These threads were all parked so there was negligible CPU impact, but there
is still the memory/stack impact of having so many idle threads. We would like to avoid that
impact.
> I'd like to modify PathChildrenCache to take an ExecutorService as an alternate to the
ThreadFactory it currently takes. This would allow me to pass in a thread pool for my company's
use case.
> Are there any issues with which I should be concerned concerning PathChildrenCache's
use of separate threads? (Non-reentrancy from watcher-invoked code? Binary compatibility?)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message