If I can get the version number from zoo_set(), it doesn't really matter from my point of view that the version number is always += 1, only that it is increasing.
Avery On 12/12/08 2:24 PM, "Patrick Hunt" <[email protected]> wrote: > That's fine, but we should document it. Please enter a JIRA that the > docs should talk about this. > > I notice we have this in the prog guide: > "Each time a znode's data changes, the version number increases." > > Sort of a moot point once we fix the zoo_set api but we should > explicitly state that it increments by 1. > > Patrick > > Mahadev Konar wrote: >> That's right pat. I thought about that. Though ben already mentioned that we >> missed the stat return in the c sync code. >> But for the version, since its a test and set, we should also guarantee that >> the version is a +1 to prev one. It would be really unintutive if it was >> otherwise. >> >> Also I noticed after ben's comments that the async callback zoo_aset() is >> called back with stat argument. Only the zoo_get() sync api is missing stat >> return code :). >> >> >> mahadev >> >> On 12/12/08 12:39 PM, "Patrick Hunt" <[email protected]> wrote: >> >>> Mahadev Konar wrote: >>>> And you have a success, then the version of the node that denots your >>>> successful zoo_set() above is >>>> = Version +1 >>> Mahadev, that's the current implementation, but I wasn't aware we were >>> exposing that detail as something users should rely on. Is it documented >>> anywhere in the docs? If this is "user visible" we should document it, I >>> thought we weren't exposing this for a reason... >>> >>>> >>>> mahadev >>>> >>>> On 12/12/08 11:36 AM, "Avery Ching" <[email protected]> wrote: >>>> >>>>> Patrick, >>>>> >>>>> Thanks for responding. >>>>> >>>>> I agree that I can use zoo_exists and zoo_get to get the version of the >>>>> znode as it exists currently. >>>>> >>>>> The problem I am trying to solve is that getting the version from struct >>>>> Stat in either zoo_exists or zoo_get may not be the same version that my >>>>> last successful zoo_set used. I would like to get the version that >>>>> denotes >>>>> my last successful zoo_set() operation to a particular znode. >>>>> >>>>> I understand that the data and version to the znode may change immediately >>>>> one or multiple times after my zoo_set() and this is fine, but I would >>>>> still >>>>> like to know the znode's versions of the data I set. >>>>> >>>>> Avery >>>>> >>>>> On 12/12/08 11:11 AM, "Patrick Hunt" <[email protected]> wrote: >>>>> >>>>>> Avery Ching wrote: >>>>>>> If zoo_set() completes successfully with version != -1, can we assume >>>>>>> that >>>>>>> version -> version + 1 for this znode? If not, is there a way for the >>>>>>> user >>>>>>> to get the version of the successfully completed zoo_set() operation? >>>>>> You shouldn't rely on this, it may work, but it's not part of the >>>>>> contract. Also, nothing says that some other client won't change the >>>>>> node immediately after you change it. >>>>>> >>>>>> You can access the version using zoo_exists or zoo_get - specifically >>>>>> the "struct Stat stat" argument of either of those methods contains a >>>>>> "version" member. >>>>>> >>>>>> Patrick >>
