Hi, I'm working on upgrading a project from solr-4.10.3 to solr-5.0.0. As part of our JUnit tests we have a few tests for deleting/creating collections. Each test create&delete a collection with a different name, but they all share the same config in ZK. When running these tests in Eclipse everything works fine, but when running the same tests through Maven we get the following error so I suspect this is a timing related issue :
INFO org.apache.solr.rest.ManagedResourceStorage – Setting up ZooKeeper-based storage for the RestManager with znodeBase: /configs/SIMPLE_CONFIG INFO org.apache.solr.rest.ManagedResourceStorage – Configured ZooKeeperStorageIO with znodeBase: /configs/SIMPLE_CONFIG INFO org.apache.solr.rest.RestManager – Initializing RestManager with initArgs: {} INFO org.apache.solr.rest.ManagedResourceStorage – Reading _rest_managed.json using ZooKeeperStorageIO:path=/configs/SIMPLE_CONFIG INFO org.apache.solr.rest.ManagedResourceStorage – No data found for znode /configs/SIMPLE_CONFIG/_rest_managed.json INFO org.apache.solr.rest.ManagedResourceStorage – Loaded null at path _rest_managed.json using ZooKeeperStorageIO:path=/configs/SIMPLE_CONFIG INFO org.apache.solr.rest.RestManager – Initializing 0 registered ManagedResources INFO org.apache.solr.handler.ReplicationHandler – Commits will be reserved for 10000 INFO org.apache.solr.core.SolrCore – [mycollection1] Registered new searcher Searcher@3208a6c4[mycollection1] main{ExitableDirectoryReader(UninvertingDirectoryReader())} ERROR org.apache.solr.core.CoreContainer – Error creating core [mycollection1]: This conf directory is not valid org.apache.solr.common.SolrException: This conf directory is not valid at org.apache.solr.cloud.ZkController.registerConfListenerForCore(ZkController.java:2229) at org.apache.solr.core.SolrCore.registerConfListener(SolrCore.java:2633) at org.apache.solr.core.SolrCore.<init>(SolrCore.java:936) at org.apache.solr.core.SolrCore.<init>(SolrCore.java:662) at org.apache.solr.core.CoreContainer.create(CoreContainer.java:513) at org.apache.solr.core.CoreContainer.create(CoreContainer.java:488) at org.apache.solr.handler.admin.CoreAdminHandler.handleCreateAction(CoreAdminHandler.java:573) at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestInternal(CoreAdminHandler.java:197) at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:186) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:144) at org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:736) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:261) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:204) 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:861) 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:722) In summary, my question is what is the meaning of this exception and what are the possible causes of it. I am sure the config directory I'm using is still in ZK and its not deleted during the test. Thanks, Bar