[
https://issues.apache.org/jira/browse/SOLR-7344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16462840#comment-16462840
]
Hrishikesh Gadre commented on SOLR-7344:
----------------------------------------
[[email protected]]
{quote}Is this deadlock even an issue anymore?
We are Jetty 9 now and it only offers NIO connectors (so long thread per
request). AFAIK that means requests waiting on IO don't hold a thread.
{quote}
In order to fully utilize NIO connector capability, the application needs to
use asynchronous servlet APIs (provided as part of Servlet 3 spec). Here is a
good tutorial that you can take a look:
[https://plumbr.io/blog/java/how-to-use-asynchronous-servlets-to-improve-performance]
Is it possible for us to use this feature for SOLR? Sure, but it will take a
major rewrite of core parts of SOLR cloud (e.g. distributed querying,
replication, remote queries etc.) as these components synchronously wait for
the results of RPC calls. The servlet-request scheduler proposed in this Jira
([https://github.com/hgadre/servletrequest-scheduler)] internally uses servlet
3 async API to queue up the requests overflowing the thread-pool capacity,
ensuring that distributed deadlocks are avoided without requiring *any* change
in the SOLR cloud functionality.
> Allow Jetty thread pool limits while still avoiding distributed deadlock.
> -------------------------------------------------------------------------
>
> Key: SOLR-7344
> URL: https://issues.apache.org/jira/browse/SOLR-7344
> Project: Solr
> Issue Type: Improvement
> Components: SolrCloud
> Reporter: Mark Miller
> Priority: Major
> Attachments: SOLR-7344.patch
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]