Hi Zookeeper Devs,

Hope this email finds you well!

I am working on some stuff that needs ZK multi(). I would like to confirm a
few things about this API.

1. Is this a real transaction operation in ZK? My understanding is, it is a
real transaction. If I put 3 write operations in this transaction request,
these 3 write operations are committed in 1 transaction with the same zxid
and 1 proposal. Observers should either see all the updates or none of the
updates. Observers should not see partial updates, eg. only 1 of the 3
updates.

2. We have a case to write multiple znodes. Currently it is sending the
requests one by one. With transaction, I believe we could batch writes in 1
transaction request. This is intended to reduce ZK write pressure. Eg. we
are writing 100 znodes, putting it in one transaction request would reduce
write requests from 100 (single write request using create() or set()) to 1
write request (transaction), right? And does this reduce ZK server write
request pressure?

Could you help explain? I am looking forward to your reply. Thank you very
much!

Best,
-Huizhi

Reply via email to