[ https://issues.apache.org/jira/browse/SOLR-12405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16499187#comment-16499187 ]
Varun Thacker commented on SOLR-12405: -------------------------------------- Just to experiment a little to understand how this works better. So I changed the qos filter to be {code:java} @Override public void init(FilterConfig filterConfig) { super.init(filterConfig); _origMaxRequests = 0; super.setMaxRequests(_origMaxRequests); super.setSuspendMs(60000); super.setWaitMs(50); } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; String source = req.getHeader(QoSParams.REQUEST_SOURCE); if (req.getServletPath() != null && req.getServletPath().contains("/update")) { log.info("Blocking update"); super.doFilter(req, response, chain); } else { chain.doFilter(req, response); } }{code} Never does an update get processed as expected. At the 1 minute mark the client would get back a 503 {code:java} [master] ~/apache-work/lucene-solr/solr$ time curl http://127.0.0.1:8983/solr/techproducts/update?commit=true -H 'Content-type:application/json' -d ' [ {"id" : "1"} ]' <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <title>Error 503 Service Unavailable</title> </head> <body><h2>HTTP ERROR 503</h2> <p>Problem accessing /solr/techproducts/update. Reason: <pre> Service Unavailable</pre></p> </body> </html> real 1m0.130s user 0m0.007s sys 0m0.007s{code} > Add a quality of service type filter for request load management and request > throttling. > ---------------------------------------------------------------------------------------- > > Key: SOLR-12405 > URL: https://issues.apache.org/jira/browse/SOLR-12405 > Project: Solr > Issue Type: New Feature > Security Level: Public(Default Security Level. Issues are Public) > Reporter: Mark Miller > Priority: Major > Attachments: SOLR-12405.patch > > > Trying to manage resource usage just with thread / connection pool limits is > a losing strategy ( especially without using Continuations and making > scalability vs performance tradeoffs) if you cannot manage requests. > A QOSFilter type servlet filter with give us some base functionality we want: > Ability to limit number of concurrent requests. > Ability to queue requests without holding a thread per request. > Ability to drop requests over a certain queue size. > Ability to prioritize requests on the queue. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org