You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by Rahul Rane <rr...@linkedin.com.INVALID> on 2022/05/26 19:19:03 UTC

Needed help on creating default znodes zookeeper server boot up

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