You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Anuj Kumar <an...@gmail.com> on 2011/06/21 17:29:55 UTC
Read past EOF error due to broken connection
Hello Everyone,
While trying to index a set of documents on remote Solr instance, the
connection broke and it left the index in an inconsistent state. Now, when I
start the instance, it fails while getting the searcher with the following
exception-
Caused by: java.io.IOException: read past EOF
at
org.apache.lucene.store.BufferedIndexInput.refill(BufferedIndexInput.java:207)
at
org.apache.lucene.store.BufferedIndexInput.readByte(BufferedIndexInput.java:39)
at
org.apache.lucene.store.ChecksumIndexInput.readByte(ChecksumIndexInput.java:40)
at org.apache.lucene.store.IndexInput.readInt(IndexInput.java:71)
at org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:268)
at
org.apache.lucene.index.DirectoryReader$1.doBody(DirectoryReader.java:79)
at
org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:753)
at org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:75)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:428)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:371)
at
org.apache.solr.core.StandardIndexReaderFactory.newReader(StandardIndexReaderFactory.java:38)
at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1080)
I saw this JIRA entry- https://jira.atlassian.com/browse/JRA-12030 that asks
to re-index. Is there a way to restore the last known good index snapshot?
Thanks,
Anuj
Re: Read past EOF error due to broken connection
Posted by Anuj Kumar <an...@gmail.com>.
Hi Pravesh,
I was just indexing some documents remotely on a single node instance
when the connection broke.
So, there isn't any manual copy that I did.
I think I will go ahead and re-index. Just curious to know, if there
is any option to specify the check-point for last commit and rollback
to it in these scenarios.
Thanks,
Anuj
On Thu, Jun 23, 2011 at 12:02 PM, pravesh <su...@yahoo.com> wrote:
> Did you do manual copy of index from Master to Slave of servers. I suppose,
> it won't be copied properly.
> If this is the case, then you can check the size of indexes on both servers.
> Otherwise, you would've to recreate the indexes.
>
> Thanx
> Pravesh
>
> --
> View this message in context: http://lucene.472066.n3.nabble.com/Read-past-EOF-error-due-to-broken-connection-tp3091247p3098737.html
> Sent from the Solr - User mailing list archive at Nabble.com.
>
Re: Read past EOF error due to broken connection
Posted by pravesh <su...@yahoo.com>.
Did you do manual copy of index from Master to Slave of servers. I suppose,
it won't be copied properly.
If this is the case, then you can check the size of indexes on both servers.
Otherwise, you would've to recreate the indexes.
Thanx
Pravesh
--
View this message in context: http://lucene.472066.n3.nabble.com/Read-past-EOF-error-due-to-broken-connection-tp3091247p3098737.html
Sent from the Solr - User mailing list archive at Nabble.com.
Re: Read past EOF error due to broken connection
Posted by Anuj Kumar <an...@gmail.com>.
Hi Pravesh,
Thanks for your reply. I tried both the approaches-
Commit fails with this exception-
Exception in thread "main" org.apache.solr.common.SolrException: Severe
errors in solr configuration. Check your log files for more detailed
information on what may be wrong. If you want solr to continue after
configuration errors, change:
<abortOnConfigurationError>false</abortOnConfigurationError> in solr.xml
-------------------------------------------------------------
java.lang.RuntimeException: java.io.IOException: read past EOF at
org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1091) at
org.apache.solr.core.SolrCore.<init>(SolrCore.java:585) at
org.apache.solr.core.CoreContainer.create(CoreContainer.java:463) at
org.apache.solr.core.CoreContainer.load(CoreContainer.java:316) at
org.apache.solr.core.CoreContainer.load(CoreContainer.java:207) at
org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:130)
at
org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:94) at
org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499) at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at
org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at
org.mortbay.jetty.Server.doStart(Server.java:224) at org
Severe errors in solr configuration. Check your log files for more detailed
information on what may be wrong. If you want solr to continue after
configuration errors, change:
<abortOnConfigurationError>false</abortOnConfigurationError> in solr.xml
-------------------------------------------------------------
java.lang.RuntimeException: java.io.IOException: read past EOF at
org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1091) at
org.apache.solr.core.SolrCore.<init>(SolrCore.java:585) at
org.apache.solr.core.CoreContainer.create(CoreContainer.java:463) at
org.apache.solr.core.CoreContainer.load(CoreContainer.java:316) at
org.apache.solr.core.CoreContainer.load(CoreContainer.java:207) at
org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:130)
at
org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:94) at
org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499) at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at
org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at
org.mortbay.jetty.Server.doStart(Server.java:224) at org
And Checkindex fails with this exception-
Opening index @ ./index/
ERROR: could not read any segments file in directory
java.io.IOException: read past EOF
at
org.apache.lucene.store.BufferedIndexInput.refill(BufferedIndexInput.java:207)
at
org.apache.lucene.store.BufferedIndexInput.readByte(BufferedIndexInput.java:39)
at
org.apache.lucene.store.ChecksumIndexInput.readByte(ChecksumIndexInput.java:40)
at org.apache.lucene.store.IndexInput.readInt(IndexInput.java:71)
at org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:268)
at org.apache.lucene.index.SegmentInfos$1.doBody(SegmentInfos.java:358)
at
org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:753)
at
org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:592)
at org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:354)
at org.apache.lucene.index.CheckIndex.checkIndex(CheckIndex.java:319)
at org.apache.lucene.index.CheckIndex.main(CheckIndex.java:940)
Any other options?
Thanks again,
Anuj
On Wed, Jun 22, 2011 at 11:47 AM, pravesh <su...@yahoo.com> wrote:
> First commit and then try again to search.
>
> You can also use lucene's CheckIndex tool to check & fix your index (it may
> remove some corrupt segments in your index)
>
> Thanx
> Pravesh
>
> --
> View this message in context:
> http://lucene.472066.n3.nabble.com/Read-past-EOF-error-due-to-broken-connection-tp3091247p3094334.html
> Sent from the Solr - User mailing list archive at Nabble.com.
>
Re: Read past EOF error due to broken connection
Posted by pravesh <su...@yahoo.com>.
First commit and then try again to search.
You can also use lucene's CheckIndex tool to check & fix your index (it may
remove some corrupt segments in your index)
Thanx
Pravesh
--
View this message in context: http://lucene.472066.n3.nabble.com/Read-past-EOF-error-due-to-broken-connection-tp3091247p3094334.html
Sent from the Solr - User mailing list archive at Nabble.com.