Hi folks,

I needed some help regarding creating default ZNode on Zookeeper server bootup. 
I want to create a ZNode at some default path whenever zookeeper server boots 
up. I tried couple of things but didn't work.

  1.  I tried to create using createNode API of DataTree but that didn't 
reflect into actual ZNode creation.
  2.  I tried to create znode in DataTree constructor but that got overwritten 
after snapshot restore while loading zkDatabase.
  3.  I tried to create Request using both supported ways but didn’t work. Here 
are the code snippet and results:
     *   CreateRequest createRequest = new CreateRequest(rootPath, new byte[0], 
ZooDefs.Ids.OPEN_ACL_UNSAFE,    CreateMode.PERSISTENT.toFlag());
              ByteArrayOutputStream baos = new ByteArrayOutputStream();
              org.apache.jute.BinaryOutputArchive boa = 
org.apache.jute.BinaryOutputArchive.getArchive(baos);
              createRequest.serialize(boa, "request");
              ByteBuffer bb = ByteBuffer.wrap(baos.toByteArray());

Request request = new Request(null, 0, zks.getLastProcessedZxid(), 
ZooDefs.OpCode.create, bb, new     ArrayList<org.apache.zookeeper.data.Id>());

<Resulted into session time out error>

b.      Request request = new Request(1, 1, ZooDefs.OpCode.create,

           new org.apache.zookeeper.txn.TxnHeader(1, 1, zks.getZxid(), 1, 
ZooDefs.OpCode.create),

new org.apache.zookeeper.txn.CreateTxn("/zookeeper/uri-domain-map", new 
byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, false, 0), zks.getZxid());

    // Submit request directly to leader

    zks.submitRequest(request);

<Didn’t create any ZNode.>

Is there any recommended way to create ZNode by zookeeper server itself. Any 
help/pointers would be much appreciated.

Thanks,
Rahul Rane

Reply via email to