Hi,

We are using auto discovery and have a use case where we want to be
able to add cores dynamically, without restarting solr.

In 4.4 we were able to
- add a directory (e.g. "core1") with an empty core.properties
- call 
http://localhost:8983/solr/admin/cores?action=CREATE&core=core1&name=core1&instanceDir=%2Fsomewhere%2Fcore1

In 4.5 however this (the second step) fails, saying it cannot create a
new core in that directory because another core is already defined
there.

>From the documentation (http://wiki.apache.org/solr/CoreAdmin), I
understand that since 4.3 we should actually do "RELOAD". However,
RELOAD results in this stacktrace:

org.apache.solr.common.SolrException: Error handling 'reload' action
at 
org.apache.solr.handler.admin.CoreAdminHandler.handleReloadAction(CoreAdminHandler.java:673)
at 
org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:172)
at 
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
at 
org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:655)
at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:246)
at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:195)
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.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:322) 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.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: org.apache.solr.common.SolrException: Unable to reload
core: core1 at 
org.apache.solr.core.CoreContainer.recordAndThrow(CoreContainer.java:936)
at org.apache.solr.core.CoreContainer.reload(CoreContainer.java:691)
at 
org.apache.solr.handler.admin.CoreAdminHandler.handleReloadAction(CoreAdminHandler.java:671)
... 20 more Caused by: org.apache.solr.common.SolrException: No such
core: core1 at org.apache.solr.core.CoreContainer.reload(CoreContainer.java:642)
... 21 more

Note that before I RELOAD, the core1 directory was created.

Also note that next to the core1 directory, there is a core0 directory
which has exactly the same content and is auto-discovered perfectly
fine at startup.

So... what should it be? Or am I missing something here?

thanks in advance,
Jan

Reply via email to