[
https://issues.apache.org/jira/browse/SOLR-6920?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Varun Thacker updated SOLR-6920:
--------------------------------
Attachment: SOLR-6920.patch
Updated patch. This handles the back compat check correctly
While running the tests I got a failure which can be reproduced with
{noformat}ant test -Dtestcase=SyncSliceTest -Dtests.method=test
-Dtests.seed=588DD6F3A8F57A44 -Dtests.slow=true -Dtests.locale=no_NO_NY
-Dtests.timezone=America/Bahia -Dtests.asserts=true
-Dtests.file.encoding=UTF-8{noformat}
The exception thrown is -
{code}
131990 T79 C17 P63349 oasc.SolrException.log ERROR
java.lang.ArrayIndexOutOfBoundsException: -8
at
org.apache.lucene.store.RAMInputStream.readByte(RAMInputStream.java:73)
at org.apache.lucene.store.DataInput.readInt(DataInput.java:98)
at
org.apache.lucene.store.MockIndexInputWrapper.readInt(MockIndexInputWrapper.java:159)
at
org.apache.lucene.codecs.CodecUtil.validateFooter(CodecUtil.java:414)
at
org.apache.lucene.codecs.CodecUtil.retrieveChecksum(CodecUtil.java:401)
at
org.apache.solr.handler.ReplicationHandler.getFileList(ReplicationHandler.java:445)
at
org.apache.solr.handler.ReplicationHandler.handleRequestBody(ReplicationHandler.java:212)
at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:144)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:2006)
at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:777)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:413)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:204)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
at
org.apache.solr.client.solrj.embedded.JettySolrRunner$DebugFilter.doFilter(JettySolrRunner.java:142)
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.session.SessionHandler.doHandle(SessionHandler.java:229)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at
org.eclipse.jetty.server.handler.GzipHandler.handle(GzipHandler.java:301)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1077)
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.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.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942)
at
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004)
at
org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640)
at
org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at
org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628)
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
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)
{code}
On debugging I found out the file which was causing it -
{{_0_MockRandom_0.sd}} . This is a MockRandomPostingsFormat.SEED_EXT fille.
Adding this to SyncSliceTest fixed the fail -
{noformat}@LuceneTestCase.SuppressCodecs({ "MockRandom" }){noformat} but any
other test could end up using it causing a failure. Any idea on how to tackle it
> During replication use checksums to verify if files are the same
> ----------------------------------------------------------------
>
> Key: SOLR-6920
> URL: https://issues.apache.org/jira/browse/SOLR-6920
> Project: Solr
> Issue Type: Bug
> Components: replication (java)
> Reporter: Varun Thacker
> Attachments: SOLR-6920.patch, SOLR-6920.patch, SOLR-6920.patch
>
>
> Currently we check if an index file on the master and slave is the same by
> checking if it's name and file length match.
> With LUCENE-2446 we now have a checksums for each index file in the segment.
> We should leverage this to verify if two files are the same.
> Places like SnapPuller.isIndexStale and SnapPuller.downloadIndexFiles should
> check against the checksum also.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]