Il mar 6 ago 2019, 13:47 Zili Chen <wander4...@gmail.com> ha scritto:
> Any ideas? > > > Zili Chen <wander4...@gmail.com> 于2019年7月29日周一 上午11:12写道: > > > 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); > > } > Do you need to perform other ops in the same transaction? In this case usually you use conditional setData, using the 'version' of thr znode Enrico > > > 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. > > >