Hello
We are running solr 4.6 in master-slave configuration where in our master is 
used entirely for indexing. No search traffic comes to master ever.
Off late we have started to get the early EOF error on the solr Master which 
results in a Broken Pipe error on the commerce application from where Indexing 
was kicked off from.

Things to mention

  1.  We have a couple of sites – each of which has the same document size but 
diff document count.
  2.  This error is being observed in the site which has the most number of 
document count I.e. 2204743
  3.  The way I have understood solr to work is that irrespective of number of 
document – the throughput is controlled by the ‘Number of Threads’ and ‘Batch 
size’ - Am I correct?
     *   In our case we have not touched the batch size and Number of Threads 
when this error started coming
     *   However when I do touch these parameters (specifically reduce them) 
the error does not come – however indexing time increases a lot.
  4.  We have to index overnight daily because we put product prices in the 
Index which get updated nightly
  5.  Solr master is running with a 20 GB Heap

What we have tried

  1.  I disabled autoCommit (I.e. Hard commit) and put the autoSoftCommit as 5 
mins
     *   I realized afterwards that this was a wrong test because my 
understanding of soft commit was incorrect, My understanding now is that hard 
commit just truncate the Tlog do hardCommit should be better indexing 
performance.
     *   This test failed for lack of space reason however because disable 
autoCommit did not make sense – I did not retry this test yet.
  2.  Increased the RAMBufferSizeMB from 100MB to 1000MB
     *   This test did not yield anything favorable – the master gave the early 
EOF exception
  3.  Increased the merge factor from 20 —> 100
     *   This test did not yield anything favorable – the master gave the early 
EOF exception
  4.  Flipped the autoCommit to 15 secs and disabled auto commit
     *   This test did not yield anything favorable – the master gave the early 
EOF exception
     *   I got the input for this from 
https://lucidworks.com/blog/2013/08/23/understanding-transaction-logs-softcommit-and-commit-in-sorlcloud/
 - Heavy (Bulk) Indexing section
  5.  Tried to bypass transaction log all together – This test is underway 
currently

Questions

  1.  Since we are not using solrCloud – I want to understand the impact of 
bypassing transaction log
  2.  How does solr take documents which are sent to it to storage as in what 
is the journey of a document from segment to tlog to storage.

It would be great If there are any pointers which you can share.

Thanks
J./

The actual Error Log
ERROR - 2016-08-16 22:59:55.988; org.apache.solr.common.SolrException; 
org.apache.solr.common.SolrException: early EOF
        at org.apache.solr.handler.loader.XMLLoader.load(XMLLoader.java:176)
        at 
org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:92)
        at 
org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:74)
        at 
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
        at org.apache.solr.core.SolrCore.execute(SolrCore.java:1859)
        at 
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:721)
        at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:417)
        at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:201)
        at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
        at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
        at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
        at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)
        at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)
        at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
        at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
        at 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
        at org.eclipse.jetty.server.Server.handle(Server.java:368)
        at 
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
        at 
org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
        at 
org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:953)
        at 
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1014)
        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:953)
        at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
        at 
org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
        at 
org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
        at java.lang.Thread.run(Thread.java:745)
Caused by: com.ctc.wstx.exc.WstxIOException: early EOF
        at com.ctc.wstx.sr.StreamScanner.throwFromIOE(StreamScanner.java:708)
        at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1086)
        at org.apache.solr.handler.loader.XMLLoader.readDoc(XMLLoader.java:389)
        at 
org.apache.solr.handler.loader.XMLLoader.processUpdate(XMLLoader.java:246)
        at org.apache.solr.handler.loader.XMLLoader.load(XMLLoader.java:174)
        ... 32 more
Caused by: org.eclipse.jetty.io.EofException: early EOF
        at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:65)
        at java.io.InputStream.read(InputStream.java:101)
        at com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:365)
        at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:110)
        at com.ctc.wstx.io.MergedReader.read(MergedReader.java:101)
        at com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:84)
        at 
com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:57)
        at 
com.ctc.wstx.sr.StreamScanner.loadMoreFromCurrent(StreamScanner.java:1046)
        at 
com.ctc.wstx.sr.StreamScanner.parseLocalName2(StreamScanner.java:1796)
        at com.ctc.wstx.sr.StreamScanner.parseLocalName(StreamScanner.java:1756)
        at 
com.ctc.wstx.sr.BasicStreamReader.handleNsAttrs(BasicStreamReader.java:2981)
        at 
com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2936)
        at 
com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2848)
        at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019)
        ... 35 more

Reply via email to