Here ist one I stripped down as far as I could: innerJoin(sort(search(kmm, q="sds_endpoint_uuid:(2f927a0b\-fe38\-451e\-9103\-580914a77e82)", fl="sds_endpoint_uuid,sds_to_endpoint_uuid", sort="sds_to_endpoint_uuid ASC", qt="/export"), by="sds_endpoint_uuid ASC"), search(kmm, q=ss_search_api_datasource:entity\:as_metadata, fl="sds_metadata_of_uuid", sort="sds_metadata_of_uuid ASC", qt="/select", rows=10000), on="sds_endpoint_uuid=sds_metadata_of_uuid")
The exception happens both via PHP (search_api_solr / Solarium) and via the Solr admin UI. (version: Solr 7.3.1 on macOS High Sierra 10.13.5) It seems to be related to the fact that the second stream uses "select“. - If I use "export“ the exception doesn’t occur. - If I set the rows parameter "low enough“ so I do not get any results the exception doesn’t occur either. BTW: Do you know of any tool for formatting and/or syntax highlighting these expressions? Christian Spitzlay > Am 13.06.2018 um 23:02 schrieb Joel Bernstein <joels...@gmail.com>: > > Can your provide some example expressions that are causing these exceptions? > > Joel Bernstein > http://joelsolr.blogspot.com/ > > On Wed, Jun 13, 2018 at 9:02 AM, Christian Spitzlay < > christian.spitz...@biologis.com> wrote: > >> Hi, >> >> I am seeing a lot of (reproducible) exceptions in my solr log file >> when I execute streaming expressions: >> >> o.a.s.s.HttpSolrCall Unable to write response, client closed connection >> or we are shutting down >> org.eclipse.jetty.io.EofException >> at org.eclipse.jetty.io.ChannelEndPoint.flush( >> ChannelEndPoint.java:292) >> at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:429) >> at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:322) >> at org.eclipse.jetty.io.AbstractEndPoint.write( >> AbstractEndPoint.java:372) >> at org.eclipse.jetty.server.HttpConnection$SendCallback. >> process(HttpConnection.java:794) >> […] >> at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run( >> EatWhatYouKill.java:131) >> at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ >> ReservedThread.run(ReservedThreadExecutor.java:382) >> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob( >> QueuedThreadPool.java:708) >> at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run( >> QueuedThreadPool.java:626) >> at java.base/java.lang.Thread.run(Thread.java:844) >> Caused by: java.io.IOException: Broken pipe >> at java.base/sun.nio.ch.FileDispatcherImpl.writev0(Native Method) >> at java.base/sun.nio.ch.SocketDispatcher.writev( >> SocketDispatcher.java:51) >> at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:148) >> at java.base/sun.nio.ch.SocketChannelImpl.write( >> SocketChannelImpl.java:506) >> at org.eclipse.jetty.io.ChannelEndPoint.flush( >> ChannelEndPoint.java:272) >> ... 69 more >> >> >> I have read up on the exception message and found >> http://lucene.472066.n3.nabble.com/Unable-to-write-response-client-closed- >> connection-or-we-are-shutting-down-tt4350349.html#a4350947 >> but I don’t understand how an early client connect can cause what I am >> seeing: >> >> What puzzles me is that the response has been delivered in full to the >> client library, including the document with EOF. >> >> So Solr must have already processed the streaming expression and returned >> the result. >> It’s just that the log is filled with stacktraces of this exception that >> suggests something went wrong. >> I don’t understand why this happens when the query seems to have succeeded. >> >> >> Best regards, >> Christian >> >> >>