You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@zookeeper.apache.org by "Zili Chen (Jira)" <ji...@apache.org> on 2019/10/02 04:55:00 UTC

[jira] [Commented] (ZOOKEEPER-3566) Send event zxid to watches

    [ https://issues.apache.org/jira/browse/ZOOKEEPER-3566?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16942486#comment-16942486 ] 

Zili Chen commented on ZOOKEEPER-3566:
--------------------------------------

TBH I think it requires we evolve {{WatcherEvent}} which is the actual message on wire but jute doesn't works well on schema evolution.

See also ZOOKEEPER-3290

CC [~andorm]

> Send event zxid to watches
> --------------------------
>
>                 Key: ZOOKEEPER-3566
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3566
>             Project: ZooKeeper
>          Issue Type: Improvement
>          Components: server
>            Reporter: Samuel Nelson
>            Priority: Major
>
> The zxid that triggered a watch should be sent to the watch because it's useful for ordering events.
>  
> Use case:
> I'm watching a znode and syncing its contents (and whether it has been deleted) to a third system. Without zxid attached to events it makes it very difficult to maintain the order of events as they happened in ZK.
>  
> For example if I modify node `/a/b/c` and then delete it soon after, we have two watch events, but no reliable way to communicate to our third system that the modification happened before the deletion. If we are given the zxid we can use that to order events.
>  
> Suggested implementation:
> Change `IWatchManager#triggerWatch` to take another parameter `Long zxid`. Callers pass the zxid of the event.
> Add member `Long zxid` to `WatchedEvent`
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)