zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Enrico Olivelli <eolive...@gmail.com>
Subject Re: create or setData in transaction?
Date Tue, 06 Aug 2019 12:27:11 GMT
Il mar 6 ago 2019, 13:47 Zili Chen <wander4096@gmail.com> ha scritto:

> Any ideas?
>
>
> Zili Chen <wander4096@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.
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message