Solandra icon indicating copy to clipboard operation
Solandra copied to clipboard

admin/luke handler broken by update to Solr 3.1

Open davidstrauss opened this issue 14 years ago • 2 comments

This commit breaks the admin/luke handler: https://github.com/tjake/Solandra/commit/a03d730987c9d37b0cb1ac9b983a7dd1e5ccb1b2

Steps to reproduce:

  1. Index the Reuters data on Solandra build with commit 06d9215b0aa6467e728f and the luke interface enabled in solrconfig.xml. Request "/solandra/reuters/admin/luke?numTerms=0&wt=json" and see JSON.
  2. Index the Reuters data on Solandra build with commit a03d730987c9d37b0cb1 and the luke interface enabled in solrconfig.xml. Request "/solandra/reuters/admin/luke?numTerms=0&wt=json" and get a backtrace.

The backtrace:

Error 500 no segments* file found in org.apache.lucene.store.RAMDirectory@c3fa6cd lockFactory=org.apache.lucene.store.SingleInstanceLockFactory@26dfe303: files: []

org.apache.lucene.index.IndexNotFoundException: no segments* file found in org.apache.lucene.store.RAMDirectory@c3fa6cd lockFactory=org.apache.lucene.store.SingleInstanceLockFactory@26dfe303: files: []
at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:694)
at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:575)
at org.apache.lucene.index.IndexReader.lastModified(IndexReader.java:623)
at org.apache.solr.handler.admin.LukeRequestHandler.getIndexInfo(LukeRequestHandler.java:490)
at org.apache.solr.handler.admin.LukeRequestHandler.handleRequestBody(LukeRequestHandler.java:101)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1360)
at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:356)
at solandra.SolandraDispatchFilter.execute(SolandraDispatchFilter.java:156)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:252)
at solandra.SolandraDispatchFilter.doFilter(SolandraDispatchFilter.java:122)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:451)

davidstrauss avatar May 11 '11 20:05 davidstrauss

It's worth noting that Drupal's Solr module requires Luke for index introspection as part of the faceting support.

davidstrauss avatar May 12 '11 20:05 davidstrauss

Interesting that it seems to be using the org.apache.lucene.index.IndexReader class instead of the Lucandra IndexReader one would expect from the use of SolandraIndexReaderFactory.

davidstrauss avatar May 12 '11 20:05 davidstrauss