Hello Everyone, I am trying to run a simple unit test using solr test framework. At this point, all I am trying to achieve is to be able to upload some configuration and create a collection using solr test framework.
Following is the simple code which I am trying to run. private static final String COLLECTION = "collection2" ; private static final int numShards = 1; private static final int numReplicas = 1; private static final int maxShardsPerNode = 1; private static final int nodeCount = (numShards*numReplicas + (maxShardsPerNode-1))/maxShardsPerNode; private static final String id = "id"; private static final String CONFIG_DIR = "src/test/resources/testdata/solr/collection2"; @BeforeClass public static void setupCluster() throws Exception { // create and configure cluster configureCluster(nodeCount) .addConfig("collection2", getFile(CONFIG_DIR).toPath()) .configure(); // create an empty collection CollectionAdminRequest.createCollection(COLLECTION, "collection2", numShards, numReplicas) .setMaxShardsPerNode(maxShardsPerNode) .process(cluster.getSolrClient()); // add further document(s) here // TODO } However, I see that solr fails to upload the configuration to zk. Following method of ZooKeeper class fails with the "KeeperException" public String create(final String path, byte data[], List<ACL> acl, CreateMode createMode) throws KeeperException, InterruptedException { final String clientPath = path; PathUtils.validatePath(clientPath, createMode.isSequential()); final String serverPath = prependChroot(clientPath); RequestHeader h = new RequestHeader(); h.setType(ZooDefs.OpCode.create); CreateRequest request = new CreateRequest(); CreateResponse response = new CreateResponse(); request.setData(data); request.setFlags(createMode.toFlag()); request.setPath(serverPath); if (acl != null && acl.size() == 0) { throw new KeeperException.InvalidACLException(); } request.setAcl(acl); ReplyHeader r = cnxn.submitRequest(h, request, response, null); if (r.getErr() != 0) { throw KeeperException.create(KeeperException.Code.get(r.getErr()), clientPath); } if (cnxn.chrootPath == null) { return response.getPath(); } else { return response.getPath().substring(cnxn.chrootPath.length()); } } And following are the Keeper exceptions thrown for each file of the configuration. Basically, it says Got user-level KeeperException when processing sessionid:.... Error Path:/solr/configs Error:KeeperErrorCode = NodeExists for /solr/configs ************************************************************************************************************** 2019-06-04T15:07:01,157 [ProcessThread(sid:0 cport:50192):] INFO org.apache.zookeeper.server.PrepRequestProcessor - Got user-level KeeperException when processing sessionid:0x1003ec815f30007 type:create cxid:0xe zxid:0x40 txntype:-1 reqpath:n/a Error Path:/solr/configs Error:KeeperErrorCode = NodeExists for /solr/configs 2019-06-04T15:07:01,158 [ProcessThread(sid:0 cport:50192):] INFO org.apache.zookeeper.server.PrepRequestProcessor - Got user-level KeeperException when processing sessionid:0x1003ec815f30007 type:create cxid:0xf zxid:0x41 txntype:-1 reqpath:n/a Error Path:/solr/configs/collection2 Error:KeeperErrorCode = NodeExists for /solr/configs/collection2 2019-06-04T15:07:01,158 [ProcessThread(sid:0 cport:50192):] INFO org.apache.zookeeper.server.PrepRequestProcessor - Got user-level KeeperException when processing sessionid:0x1003ec815f30007 type:create cxid:0x10 zxid:0x42 txntype:-1 reqpath:n/a Error Path:/solr/configs/collection2/conf Error:KeeperErrorCode = NodeExists for /solr/configs/collection2/conf 2019-06-04T15:07:01,160 [ProcessThread(sid:0 cport:50192):] INFO org.apache.zookeeper.server.PrepRequestProcessor - Got user-level KeeperException when processing sessionid:0x1003ec815f30007 type:create cxid:0x12 zxid:0x44 txntype:-1 reqpath:n/a Error Path:/solr/configs Error:KeeperErrorCode = NodeExists for /solr/configs 2019-06-04T15:07:01,160 [ProcessThread(sid:0 cport:50192):] INFO org.apache.zookeeper.server.PrepRequestProcessor - Got user-level KeeperException when processing sessionid:0x1003ec815f30007 type:create cxid:0x13 zxid:0x45 txntype:-1 reqpath:n/a Error Path:/solr/configs/collection2 Error:KeeperErrorCode = NodeExists for /solr/configs/collection2 2019-06-04T15:07:01,161 [ProcessThread(sid:0 cport:50192):] INFO org.apache.zookeeper.server.PrepRequestProcessor - Got user-level KeeperException when processing sessionid:0x1003ec815f30007 type:create cxid:0x14 zxid:0x46 txntype:-1 reqpath:n/a Error Path:/solr/configs/collection2/conf Error:KeeperErrorCode = NodeExists for /solr/configs/collection2/conf 2019-06-04T15:07:01,162 [ProcessThread(sid:0 cport:50192):] INFO org.apache.zookeeper.server.PrepRequestProcessor - Got user-level KeeperException when processing sessionid:0x1003ec815f30007 type:create cxid:0x16 zxid:0x48 txntype:-1 reqpath:n/a Error Path:/solr/configs Error:KeeperErrorCode = NodeExists for /solr/configs 2019-06-04T15:07:01,163 [ProcessThread(sid:0 cport:50192):] INFO org.apache.zookeeper.server.PrepRequestProcessor - Got user-level KeeperException when processing sessionid:0x1003ec815f30007 type:create cxid:0x17 zxid:0x49 txntype:-1 reqpath:n/a Error Path:/solr/configs/collection2 Error:KeeperErrorCode = NodeExists for /solr/configs/collection2 2019-06-04T15:07:01,163 [ProcessThread(sid:0 cport:50192):] INFO org.apache.zookeeper.server.PrepRequestProcessor - Got user-level KeeperException when processing sessionid:0x1003ec815f30007 type:create cxid:0x18 zxid:0x4a txntype:-1 reqpath:n/a Error Path:/solr/configs/collection2/conf Error:KeeperErrorCode = NodeExists for /solr/configs/collection2/conf 2019-06-04T15:07:01,165 [ProcessThread(sid:0 cport:50192):] INFO org.apache.zookeeper.server.PrepRequestProcessor - Got user-level KeeperException when processing sessionid:0x1003ec815f30007 type:create cxid:0x1b zxid:0x4d txntype:-1 reqpath:n/a Error Path:/solr/configs Error:KeeperErrorCode = NodeExists for /solr/configs 2019-06-04T15:07:01,166 [ProcessThread(sid:0 cport:50192):] INFO org.apache.zookeeper.server.PrepRequestProcessor - Got user-level KeeperException when processing sessionid:0x1003ec815f30007 type:create cxid:0x1c zxid:0x4e txntype:-1 reqpath:n/a Error Path:/solr/configs/collection2 Error:KeeperErrorCode = NodeExists for /solr/configs/collection2 ************************************************************************************************************** I have searched through the mailing list and related areas. Also, I have tried various ways of creating MiniSolrCloudCluster but I get the same exception. I have made sure that a new directory is always used as BASE_DIR to MiniSolrCloudCluster. Can anyone please throw some light on whats wrong here? Am I hitting any solr test framework issue? I am using solr test framework version 7.7.1 Thanks a lot, Pratik