lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <karl.wri...@nokia.com>
Subject Doppleganger threads after ingestion completed
Date Thu, 17 Jun 2010 13:08:17 GMT
Folks,

I ran 20,000,000 records into Solr via the extractingUpdateRequestHandler under jetty.  The
previous problems with resources have apparently been resolved by using Http1.1 with keep-alive,
rather than creating and destroying 20,000,000 sockets. ;-)  However, after the client terminates,
I still find the Solr process chewing away CPU - indeed, there were 5 threads doing this.

A thread dump yields the following partial trace for all 5 threads:

"btpool0-13" prio=10 tid=0x0000000041391000 nid=0xe7c runnable [0x00007f4a8c789000]
   java.lang.Thread.State: RUNNABLE
        at org.mortbay.jetty.HttpParser$Input.blockForContent(HttpParser.java:925)
        at org.mortbay.jetty.HttpParser$Input.read(HttpParser.java:897)
        at org.apache.commons.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:977)
        at org.apache.commons.fileupload.MultipartStream$ItemInputStream.close(MultipartStream.java:924)
        at org.apache.commons.fileupload.MultipartStream$ItemInputStream.close(MultipartStream.java:904)
        at org.apache.commons.fileupload.util.Streams.copy(Streams.java:119)
        at org.apache.commons.fileupload.util.Streams.copy(Streams.java:64)
        at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:362)
        at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
        at org.apache.solr.servlet.MultipartRequestParser.parseParamsAndFillStreams(SolrRequestParsers.java:343)
        at org.apache.solr.servlet.StandardRequestParser.parseParamsAndFillStreams(SolrRequestParsers.java:396)
        at org.apache.solr.servlet.SolrRequestParsers.parse(SolrRequestParsers.java:114)
        at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:229)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
...

I could be wrong, but it looks to me like either jetty or fileupload may have a problem here.
 I have not looked at the jetty source code, but infinitely spinning processes even after
the socket has been abandoned do not seem reasonable to me.  Thoughts?

Karl



Mime
View raw message