Replies: 4 comments 8 replies
-
Thank you for starting this topic @cdegroc ! |
Beta Was this translation helpful? Give feedback.
-
Actually I don't even understand why we need a thread pool here. 😅 Can someone explain? Thanks! |
Beta Was this translation helpful? Give feedback.
-
@li-boxuan , @cdegroc I am thinking to change the default configuration for CQL ExecutorService to be disabled by default after #2741 . I'm not changing the default configuration in that PR to not debate about the default configurations in the PR but if that PR is merged I was thinking to propose to change the default settings to be disabled and add additional information to the documentation so that users would know that this option is available historically but isn't recommended. What do you think about it? Performance tests conducted: |
Beta Was this translation helpful? Give feedback.
-
CQL ThreadPoolExecutor was extended to support multiple different implementations (as well as custom implementations). Moreover, CQL storage backend doesn't use ThreadPoolExecutor to manage IO operations anymore. Instead, it reuses DataStax Async approach and uses ThreadPoolExecutor for deserialization work only. Thus, fixed thread pool of cores * 2 is now preferable size in most cases. |
Beta Was this translation helpful? Give feedback.
-
Hi all,
CQLStoreManager/CQLKeyColumnValueStore
instantiate anExecutorService
that is used to convert CQL ResultSets to a JanusGraph EntryList, among other things.That ExecutorService is declared here (master branch) as follows
Given that corePoolSize=10 and maximumPoolSize=100, I was expecting that ThreadPool to dynamically grow/shrink as needed. However instrumentation (using an InstrumentedExecutorService) showed that the ThreadPool was always using 10 threads.
This is explained in the ThreadPoolExecutor javadoc:
I think we could fix this in two ways:
newFixedThreadPool(10, new ThreadFactoryBuilder()...)
.Happy to get feedback and contribute a PR if there's interest.
I'm also curious to know if this could be a bottleneck in JanusGraph (and also, if not, why).
Beta Was this translation helpful? Give feedback.
All reactions