Hi ZooKeepers,

Currently our transaction mechanism supports doing
create/setData/checkExist/delete in transaction. However, taking this
scenario into consideration, we want to put data in path "/path" but
don't know whether the znode exists or not. Let's say we program as
below

if (zk.exist(path)) {
  zk.setData(path, data);
} else {
  zk.create(path, data);
}

if we want to do the check and "put" in transaction, it would be like

zk.multi(Op.check(path), Op.setData(path, data));

but we cannot add a "else" branch. ZooKeeper's transaction would all
success or fail.

Is there any way to do an "if-else" transaction?

Best,
tison.

Reply via email to