[ANNOUNCE] Apache Curator 5.7.0 released

2024-06-14 Thread tison
Hello,

The Apache Curator team is pleased to announce the release of version
5.7.0. Apache  Curator is a Java/JVM client library for Apache
ZooKeeper[1], a distributed coordination service. Apache Curator
includes a high-level API framework and utilities to make using Apache
ZooKeeper much easier and more reliable. It also includes recipes for
common use cases and extensions such as service discovery and a Java 8
asynchronous DSL. For more details, please visit the project website:
https://curator.apache.org/

The download page for Apache Curator is here:
https://curator.apache.org/download/

The binary artifacts for Curator are available from Maven Central and
its mirrors.

For general information on Apache Curator, please visit the project website:
https://curator.apache.org

Release Notes:

https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12314425=12354115

Regards,

The Curator Team

[1] Apache ZooKeeper https://zookeeper.apache.org/


[ANNOUNCE] Apache Curator 5.6.0 released

2024-01-08 Thread tison
Hello,

The Apache Curator team is pleased to announce the release of version 5.6.0.

Apache Curator is a Java/JVM client library for Apache ZooKeeper[1], a
distributed coordination service. Apache Curator includes a high-level
API framework and utilities to make using Apache ZooKeeper much easier
and more reliable. It also includes recipes for common use cases and
extensions such as service discovery and a Java 8 asynchronous DSL.

For more details, please visit the project website: https://curator.apache.org/

The download page for Apache Curator is here:
https://curator.apache.org/download/

The binary artifacts for Curator are available from Maven Central and
its mirrors.

For general information on Apache Curator, please visit the project website:
https://curator.apache.org

Release Notes:

https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12353185=Text=12314425

Regards,

The Curator Team

[1] Apache ZooKeeper https://zookeeper.apache.org/


Re: Remove Watcher only remove client-side watcher and remain server-side watcher leak

2023-09-13 Thread tison
I found that I asked once at
https://lists.apache.org/thread/0kcnklcxs0s5656c1sbh3crgdodbb0qg.

And there is a pending issue
https://issues.apache.org/jira/browse/ZOOKEEPER-4625

Best,
tison.


tison  于2023年9月13日周三 22:15写道:

> See https://issues.apache.org/jira/browse/FLINK-33053.
>
> While removeAllWatches removes all watches both client-side and
> server-side, removeWatches only check the watcher existence and remove the
> client-side one, remain the server-side watcher as is. Thus, it can leak if
> no any further events.
>
> Is it by design or we can make some better solution?
>
> Best,
> tison.
>


Remove Watcher only remove client-side watcher and remain server-side watcher leak

2023-09-13 Thread tison
See https://issues.apache.org/jira/browse/FLINK-33053.

While removeAllWatches removes all watches both client-side and
server-side, removeWatches only check the watcher existence and remove the
client-side one, remain the server-side watcher as is. Thus, it can leak if
no any further events.

Is it by design or we can make some better solution?

Best,
tison.


Re: [ANNOUNCE] Apache ZooKeeper 3.9.0

2023-08-05 Thread tison
Great job! Thank you and everyone to make this release happen :D

Best,
tison.


Szalay-Bekő Máté  于2023年8月5日周六 18:59写道:

> Great job indeed, thanks to everyone!! :)
> Máté
>
> On Fri, Aug 4, 2023 at 6:24 PM Li Wang  wrote:
>
> > Congrats! Thanks Andor and Enrico for leading this and all the
> contributors
> > that made this possible.
> >
> > Best,
> >
> > Li
> >
> > On Fri, Aug 4, 2023 at 7:28 AM Enrico Olivelli 
> > wrote:
> >
> > > Congratulations !
> > >
> > > This is great step forward
> > >
> > > I hope that people will try out soon the Backup/Restore feature and
> > > that they provide feedback
> > >
> > > Enrico
> > >
> > > Il giorno ven 4 ago 2023 alle ore 13:24 Andor Molnar
> > >  ha scritto:
> > > >
> > > > The Apache ZooKeeper team is proud to announce Apache ZooKeeper
> version
> > > > 3.9.0
> > > >
> > > > ZooKeeper is a high-performance coordination service for distributed
> > > > applications. It exposes common services - such as naming,
> > > > configuration management, synchronization, and group services - in a
> > > > simple interface so you don't have to write them from scratch. You
> can
> > > > use it off-the-shelf to implement consensus, group management, leader
> > > > election, and presence protocols. And you can build on it for your
> > > > own, specific needs.
> > > >
> > > > For ZooKeeper release details and downloads, visit:
> > > > https://zookeeper.apache.org/releases.html
> > > >
> > > > ZooKeeper 3.9.0 Release Notes are at:
> > > > https://zookeeper.apache.org/doc/r3.9.0/releasenotes.html
> > > >
> > > > We would like to thank the contributors that made the release
> possible.
> > > >
> > > > Regards,
> > > >
> > > > The ZooKeeper Team
> > > >
> > > >
> > >
> >
>


Re: Convert Standalone zookeeper to A 3 node Quorum

2023-06-18 Thread tison
Can you stop the services for reconfig, or you need an online reconfig?

Best,
tison.


Gaurav Pande  于2023年6月19日周一 11:22写道:

> Hi Guys,
>
> Any help on this thread please?
>
> Regards,
> Gaurav
>
> On Sun, 18 Jun, 2023, 20:14 Gaurav Pande,  wrote:
>
> > Hello Guys,
> >
> > Iam new in this space,  I wanted to know process/steps to convert a
> single
> > Zk node in standalone presently to a 3 node ZK quorum .
> >
> > What steps should I perform to add make my standalone Zk node a Quorum of
> > 3 zk nodes?
> >
> > I am using ZK version 3.5.8 presently.
> >
> > Note - I have single Zookeeper(Standalone) and 3 Kafka brokers at this
> > point.
> >
> > Regards,
> > Gaurav
> >
> >
>


Re: ZK is binding an ephemeral port

2023-06-06 Thread tison
Confirm with master.

With JMXDISABLE=1 bin/zkServer.sh start-foreground the extra port doesn't
occur. So it should follow Enrico's analysis.

Best,
tison.


Enrico Olivelli  于2023年6月6日周二 22:39写道:

> Andor
>
> "Log4j 1.2 jmx support not found; jmx disabled."
>
> This means that "log4j" JMX support is disabled.
>
> You wrote in the very first line of your logs
> "$ bin/zkServer.sh start-foreground
> ZooKeeper JMX enabled by default"
>
>
> Enrico
>
> Il giorno mar 6 giu 2023 alle ore 16:00 Andor Molnar
>  ha scritto:
> >
> > Looks like we already have a ticket about it:
> >
> > https://issues.apache.org/jira/browse/ZOOKEEPER-2910
> >
> > Sure, I'll try to repro on master in a minute.
> >
> >
> >
> > On Tue, 2023-06-06 at 21:24 +0800, tison wrote:
> > > Can you reproduce this on master? Or only happen on 3.4 and 3.5?
> > >
> > > Best,
> > > tison.
> > >
> > >
> > > Andor Molnar  于2023年6月6日周二 21:16写道:
> > >
> > > > JMX is disabled by ManagedUtil:
> > > >
> > > > 2023-06-06 14:56:48,384 [myid:] - INFO  [main:ManagedUtil@47] -
> > > > Log4j
> > > > 1.2 jmx support not found; jmx disabled.
> > > >
> > > > Hence I don't see the 9010 tcp port bound. But why would a random
> > > > ephemeral port still open?
> > > >
> > > > Important that this port is random and keeps changing at every
> > > > startup.
> > > >
> > > > Andor
> > > >
> > > >
> > > >
> > > > On Tue, 2023-06-06 at 15:08 +0200, Enrico Olivelli wrote:
> > > > > Andor,
> > > > >
> > > > > Il giorno mar 6 giu 2023 alle ore 14:59 Andor Molnar
> > > > >  ha scritto:
> > > > > > Hi folks,
> > > > > >
> > > > > > I cannot find an answer for this which annoys the hell out of
> > > > > > me.
> > > > > > Please help to understand why ZooKeeper is binding a local
> > > > > > ephemeral
> > > > > > port right after start without any quorum or client socket
> > > > > > opened.
> > > > > > This
> > > > > > is what I see when start a 3.4 or 3.5 server is standalone
> > > > > > mode.
> > > > > > (Same
> > > > > > behaviour is observed with quorum too)
> > > > > >
> > > > > > $ bin/zkServer.sh start-foreground
> > > > > > ZooKeeper JMX enabled by default
> > > > > > Using config: /home/andor/git/my-zookeeper/bin/../conf/zoo.cfg
> > > > > > 2023-06-06 14:56:48,378 [myid:] - INFO  [main:
> > > > > > QuorumPeerConfig@154]
> > > > > > -
> > > > > > Reading configuration from: /home/andor/git/my-
> > > > > > zookeeper/bin/../conf/zoo.cfg
> > > > > > ...
> > > > > > 2023-06-06 14:56:48,648 [myid:] - INFO  [main:
> > > > > > NIOServerCnxnFactory@689]
> > > > > > - binding to port 0.0.0.0/0.0.0.0:2181
> > > > > >
> > > > > > ZooKeeper is running with PID 57126. Admin server is disabled.
> > > > > >
> > > > > > $ sudo netstat -plnt | grep 57126
> > > > > > tcp6   0  0
> > > > > > :::2181 :::*LISTEN  571
> > > > > > 26/j
> > > > > > ava
> > > > > > tcp6   0  0
> > > > > > :::45669:::*LISTEN  571
> > > > > > 26/j
> > > > > > ava
> > > > > >
> > > > > > What is the second line??
> > > > >
> > > > > It should be JMX
> > > > >
> > > > > Enrico
> > > > >
> > > > > > Thanks,
> > > > > > Andor
> > > > > >
> > > > > >
> > > > > >
> >
>


Re: ZK is binding an ephemeral port

2023-06-06 Thread tison
Can you reproduce this on master? Or only happen on 3.4 and 3.5?

Best,
tison.


Andor Molnar  于2023年6月6日周二 21:16写道:

> JMX is disabled by ManagedUtil:
>
> 2023-06-06 14:56:48,384 [myid:] - INFO  [main:ManagedUtil@47] - Log4j
> 1.2 jmx support not found; jmx disabled.
>
> Hence I don't see the 9010 tcp port bound. But why would a random
> ephemeral port still open?
>
> Important that this port is random and keeps changing at every startup.
>
> Andor
>
>
>
> On Tue, 2023-06-06 at 15:08 +0200, Enrico Olivelli wrote:
> > Andor,
> >
> > Il giorno mar 6 giu 2023 alle ore 14:59 Andor Molnar
> >  ha scritto:
> > > Hi folks,
> > >
> > > I cannot find an answer for this which annoys the hell out of me.
> > > Please help to understand why ZooKeeper is binding a local
> > > ephemeral
> > > port right after start without any quorum or client socket opened.
> > > This
> > > is what I see when start a 3.4 or 3.5 server is standalone mode.
> > > (Same
> > > behaviour is observed with quorum too)
> > >
> > > $ bin/zkServer.sh start-foreground
> > > ZooKeeper JMX enabled by default
> > > Using config: /home/andor/git/my-zookeeper/bin/../conf/zoo.cfg
> > > 2023-06-06 14:56:48,378 [myid:] - INFO  [main:QuorumPeerConfig@154]
> > > -
> > > Reading configuration from: /home/andor/git/my-
> > > zookeeper/bin/../conf/zoo.cfg
> > > ...
> > > 2023-06-06 14:56:48,648 [myid:] - INFO  [main:
> > > NIOServerCnxnFactory@689]
> > > - binding to port 0.0.0.0/0.0.0.0:2181
> > >
> > > ZooKeeper is running with PID 57126. Admin server is disabled.
> > >
> > > $ sudo netstat -plnt | grep 57126
> > > tcp6   0  0
> > > :::2181 :::*LISTEN  57126/j
> > > ava
> > > tcp6   0  0
> > > :::45669:::*LISTEN  57126/j
> > > ava
> > >
> > > What is the second line??
> >
> > It should be JMX
> >
> > Enrico
> >
> > > Thanks,
> > > Andor
> > >
> > >
> > >
>
>


Re: Is zookeeper client 3.4 compatible with server 3.7

2023-05-25 Thread tison
Communicating a later version server with an early version client should be
viable in the same major version.

So any incompatibility can be a bug. I don't know if there is any test
coverage, though.

Best,
tison.


Xie  于2023年5月26日周五 11:25写道:

> Hi,
> The release note says that "ZooKeeper clients from the 3.5 and 3.6
> branches are fully compatible with 3.7 servers.", but how about the 3.4?
> not compatible or just not test it?
>
>
> Thanks,
> Gang


Re: Support for Java 17

2023-04-17 Thread tison
I guess that is document outdated - ZK master is tested when every new JDK
out and 3.7.1 is out after tested with JDK 17[1]

Maybe we can add a CI workflow to run the build with JDK 17 and update the
document. A user case is Pulsar 2.11 uses ZK 3.7 on JDK 17 and all release
tests there passed.

Best,
tison.

[1] https://lists.apache.org/thread/qb0nqwfvvb1jdy9z086zkbp7c19dh1bj


Wilson Leao  于2023年4月17日周一 23:08写道:

> Hey!
>
> I see on the documentation 3.7.1 onwards
> <https://zookeeper.apache.org/doc/r3.7.1/zookeeperAdmin.html>:
> Required Software
>
> ZooKeeper runs in Java, release 1.8 or greater (JDK 8 LTS, JDK 11 LTS, JDK
> 12 - Java 9 and 10 are not supported). It runs as an *ensemble* of
> ZooKeeper servers. Three ZooKeeper servers is the minimum recommended size
> for an ensemble, and we also recommend that they run on separate machines.
> At Yahoo!, ZooKeeper is usually deployed on dedicated RHEL boxes, with
> dual-core processors, 2GB of RAM, and 80GB IDE hard drives.
>
> Are there any plans to support Java 17+ ?
>
> Thank you in advance!
> Wilson
>


Re: Zookeeper >= 3.7 healtcheck random failures

2022-10-18 Thread tison
Good to know.

Is it an `nc` shortcoming or we can flush the inflight response in some way
to ensure that the client sees the output?

Best,
tison.


Nick Vladiceanu  于2022年10月18日周二 20:25写道:

> ok, switching away from “nc” seems to be helping, thank you.
>
> that was a bit of unexpected component to look at without network
> debugging..
>
> > On 18. Oct 2022, at 1:13 PM, Eugene Klimov 
> wrote:
> >
> > Replace nc to socat
> > or use pure bash
> >
> > bug on nc side
> > https://github.com/pravega/zookeeper-operator/pull/476
> >
> https://github.com/Altinity/clickhouse-operator/blob/0.20.0/deploy/zookeeper/quick-start-persistent-volume/zookeeper-1-node-for-test-probes.yaml#L188-L203
> >
> > пн, 17 окт. 2022 г. в 12:16, Nick Vladiceanu :
> >>
> >> hi all,
> >> we’ve upgraded our Zookeeper that runs in Kubernetes (using bitnami
> helm chart) from version 3.6.1 to version 3.7.1 (also tried 3.8.0) and
> we’re observing random Liveness and Readiness failures:
> >>
> >> Warning  Unhealthy  100s (x2 over 5m10s)  kubeletLiveness
> probe failed:
> >>
> >> Tried with plain Zookeeper official image, same behaviour starting from
> the version >= 3.7.0.
> >>
> >> Readiness and liveness probes are running the following script: exec
> [/bin/bash -c echo "ruok" | timeout 2 nc -w 2 localhost 2181 | grep imok]
> >> Kubernetes version: 1.21.14
> >>
> >> Couldn’t find anything in the ZK logs (not trace/debug mode though).
> >>
> >> Did anyone else experience such issues when upgrading? We’ve returned
> back to the 3.6.1 and no failures are seen.
> >>
> >> Thanks
>
>


Re: Why removeWatches sends OpCode.checkWatches to the server?

2022-10-17 Thread tison
I noticed that on the client-side we use WatchDeregistration to remove
watches, but it still leaks on the server side?
Best,
tison.


tison  于2022年10月17日周一 20:57写道:

> From the codebase, it seems that OpCode.checkWatches only check the
> existence of the watcher instead of removing it. Is there some internal
> logic I miss or this is a bug?
>
> Best,
> tison.
>


Why removeWatches sends OpCode.checkWatches to the server?

2022-10-17 Thread tison
>From the codebase, it seems that OpCode.checkWatches only check the
existence of the watcher instead of removing it. Is there some internal
logic I miss or this is a bug?

Best,
tison.


Re: Read performance of 3.4.6 vs 3.8.0 according to zookeeper-benchmark

2022-08-28 Thread tison
Hi Will,

Thanks for reporting this case! Could you run the benchmark on 3.7.1 also?
It can help us bisect the point of change.

Best,
tison.


Will Now  于2022年8月28日周日 05:56写道:

> Prior to my server upgrade I'm doing some benchmarking of zookeeper server
> 3.4.6 and 3.8.0 using zookeeper-benchmark
> https://github.com/brownsys/zookeeper-benchmark
>
> Methodology: For each server version I extracted it anew from the tar file
> onto my linux box, tweaked zoo.cfg to run a single node. On 3.8.0 I enabled
> 4 letter words. I run it with a fresh (empty) dataDir.  Using default
> settings for zookeeper-benchmark.  (Contrary to best practices) I am
> running the server and test client on the same node :-/
>
> I perform 3 runs and show the READ average below. I am focussing just on
> READ results here; results are in reads/sec, so bigger numbers are better:
>
> 27,052: 3.4.6
> 16,805: 3.8.0, digest.enabled=true:
> 16,682: 3.8.0: digest.enabled=false
>
> I saw similar results on a windows box and re-ran on linux for additional
> confirmation. I find it hard to believe that 3.8.0 is 40% slower on reads!
>
> A while back I performed similar comparisons of 3.4.6 vs 3.6.x and I got
> slow results in 3.6.x initially, but disabling digest.enabled fixed it and
> the two versions were then comparable. In 3.8.0 I am seeing poor results
> with or without digest enabled.
>
> Any thoughts?  Are there some new settings I need to tweak?  Is my
> methodology flawed?
>
> Thanks!
>


[ANNOUNCE] Apache Curator 5.3.0 released

2022-07-03 Thread tison
Hello,

The Apache Curator team is pleased to announce the release of version
5.3.0.

Apache Curator is a Java/JVM client library for Apache ZooKeeper[1], a
distributed coordination service.

Apache Curator includes a high-level API framework and utilities to make
using Apache ZooKeeper much easier and more reliable.

It also includes recipes for common use cases and extensions such as
service discovery and a Java 8 asynchronous DSL.

For more details, please visit the project website:
https://curator.apache.org/

The download page for Apache Curator is here:
https://cwiki.apache.org/confluence/display/CURATOR/Releases

The binary artifacts for Curator are available from Maven Central and its
mirrors.

For general information on Apache Curator, please visit the project website:

https://curator.apache.org

Release 5.3.0 is a minor release. users of 5.1.0, 5.2.0, 5.2.1 are
encouraged to
upgrade to pick up bug fixes and new functionality.

Release Notes - Apache Curator - Version 5.3.0

** Bug
* [CURATOR-623] - DistributedQueue stops filling after long disconnect from
cluster
* [CURATOR-640] - IllegalThreadStateException thrown when access
PathChildrenCache in different thread groups

** Improvement
* [CURATOR-514] - Utilize ThreadLocalRandom In QueueSharder
* [CURATOR-643] - Adds possibility to disable automatic parent creation for
PersistentTtlNode
* [CURATOR-537] - Fix effective path can be used as a fencing token of
LeaderLatch

Regards,
The Curator Team


[1] Apache ZooKeeper https://zookeeper.apache.org/


Re: Distinguish BadVersion a real exception or false positive for retry

2022-06-16 Thread tison
Thanks. I shall go through the application to see how the local view build
and whether I can handle such case correctly - if there are concurrent
updates, it seems impossible to figure out whether the operation ever
succeeded.

Enrico Olivelli 于2022年6月16日 周四21:57写道:

> Il giorno gio 16 giu 2022 alle ore 15:35 tison 
> ha scritto:
> >
> > > if you see BadVersionException then the action must not have been
> >
> > From ZK code it seems that the comparison is about equality.
> >
> > Is it possible that:
> >
> > T0: setData(path, data, v0)
> > T1: ConnectionLoss, but setData succeeded on the server, and thus version
> > changed
> > T2: client received ConnectionLoss, retry
> > T3: client got BadVersionException, but actually the data is changed as
> it
> > proposed
>
> In any case you cannot rely on the status of the znode in case of
> ConnectionLoss,
> the fact that the change reached the server or not is not a big deal.
> you have to revalidate your local view of the data.
>
> in this case BadVersion and ConnectionLoss mean that you are not up-to-date
>
> Enrico
>
>
> >
> > > you have to read the znode again and compare the version,
> >
> > Yeah..This is still a best effort check. If there are multiple writers
> even
> > I get the version of znode and it's mismatched I don't know whether it
> ever
> > succeed.
> >
> > Best,
> > tison.
> >
> >
> > Enrico Olivelli  于2022年6月16日周四 21:08写道:
> >
> > > Tison,
> > >
> > > Il giorno gio 16 giu 2022 alle ore 15:04 tison 
> > > ha scritto:
> > > >
> > > > Hi ZooKeepers,
> > > >
> > > > When investigate this issue[1] I notice a possibility that if I write
> > > such
> > > > a program:
> > > >
> > > > while (true) {
> > > > try {
> > > >   zk.setData(path, data, version); // (1)
> > > >   break;
> > > > } catch(KeeperException.ConnectionLossException e) {
> > > >// retry
> > > > }
> > > > }
> > > >
> > > > ... then in (1) there can be a case that it throws
> > > > KeeperException.BadVersionException but actually the action is
> successful
> > > > on the server side previously (but failed to send a response due to
> > > > connection loss).
> > >
> > > if you see BadVersionException then the action must not have been
> > > successful on the server
> > > if you see ConnectionLossException then you know nothing about the
> outcome
> > >
> > > >
> > > > Is this investigation right? If so, it is possibly to distinguish
> whether
> > > > we succeed to apply the op on the server side?
> > >
> > > you have to read the znode again and compare the version,
> > > but please remember that in the meantime (after your read response
> > > leaves the server) someone could have change the znode
> > >
> > > I hope that helps
> > >
> > > Enrico
> > >
> > >
> > > >
> > > > Best,
> > > > tison.
> > > >
> > > > [1] https://github.com/apache/pulsar/issues/13954
> > >
>
-- 
Best,
tison.


Re: Distinguish BadVersion a real exception or false positive for retry

2022-06-16 Thread tison
> if you see BadVersionException then the action must not have been

>From ZK code it seems that the comparison is about equality.

Is it possible that:

T0: setData(path, data, v0)
T1: ConnectionLoss, but setData succeeded on the server, and thus version
changed
T2: client received ConnectionLoss, retry
T3: client got BadVersionException, but actually the data is changed as it
proposed

> you have to read the znode again and compare the version,

Yeah..This is still a best effort check. If there are multiple writers even
I get the version of znode and it's mismatched I don't know whether it ever
succeed.

Best,
tison.


Enrico Olivelli  于2022年6月16日周四 21:08写道:

> Tison,
>
> Il giorno gio 16 giu 2022 alle ore 15:04 tison 
> ha scritto:
> >
> > Hi ZooKeepers,
> >
> > When investigate this issue[1] I notice a possibility that if I write
> such
> > a program:
> >
> > while (true) {
> > try {
> >   zk.setData(path, data, version); // (1)
> >   break;
> > } catch(KeeperException.ConnectionLossException e) {
> >// retry
> > }
> > }
> >
> > ... then in (1) there can be a case that it throws
> > KeeperException.BadVersionException but actually the action is successful
> > on the server side previously (but failed to send a response due to
> > connection loss).
>
> if you see BadVersionException then the action must not have been
> successful on the server
> if you see ConnectionLossException then you know nothing about the outcome
>
> >
> > Is this investigation right? If so, it is possibly to distinguish whether
> > we succeed to apply the op on the server side?
>
> you have to read the znode again and compare the version,
> but please remember that in the meantime (after your read response
> leaves the server) someone could have change the znode
>
> I hope that helps
>
> Enrico
>
>
> >
> > Best,
> > tison.
> >
> > [1] https://github.com/apache/pulsar/issues/13954
>


Distinguish BadVersion a real exception or false positive for retry

2022-06-16 Thread tison
Hi ZooKeepers,

When investigate this issue[1] I notice a possibility that if I write such
a program:

while (true) {
try {
  zk.setData(path, data, version); // (1)
  break;
} catch(KeeperException.ConnectionLossException e) {
   // retry
}
}

... then in (1) there can be a case that it throws
KeeperException.BadVersionException but actually the action is successful
on the server side previously (but failed to send a response due to
connection loss).

Is this investigation right? If so, it is possibly to distinguish whether
we succeed to apply the op on the server side?

Best,
tison.

[1] https://github.com/apache/pulsar/issues/13954


Re: Impact of Log4J security vulnerability CVE-2021-44228 on zookeeper

2021-12-11 Thread tison
Hi Anchal,

I don't speak on behalf of the PMC but it seems ZK just uses log4j 1.x, not
the affected version.

Best,
tison.


Anchal Sharma2  于2021年12月12日周日 12:19写道:

> Hi All,
>
> Any one knows impact of Log4J security vulnerability CVE-2021-44228  on
> zookeeper (version 3.5.8) and mitigation ?I couldn't find any news on
> zookeeper website .
>
> Thanks
> Anchal Sharma
>
>


Is there an official ZooKeeper server interface definition?

2021-02-25 Thread tison
Hi ZooKeepers,

Recently I notice some active development on ClickHouse project[1] which
said

> Implementation of a server with ZooKeeper interface inside ClickHouse.

I'm curious what is that mean. In other words, how to fake a ZooKeeper
server with other implementation? What is the important procedure such a
fake should simulate.

Best,
tison.

[1] https://github.com/ClickHouse/ClickHouse/issues/17623


Re: Sequential Consistency Guarantees

2020-08-27 Thread tison
BTW, there is no permission on cross-client update order.

Best,
tison.


tison  于2020年8月28日周五 上午1:50写道:

> Hi Stanislav,
>
> The question you raise is a user question so I forward to user mailing
> list. Please continue discussion here.
>
> The first thing I'd like to know in order to understand your question is
> that what is "data changes" in your mind?
>
> ZooKeeper uses watcher mechanism to reflect to data changes, which is
> designed possibly miss some changes.
>
> Best,
> tison.
>
>
> Stanislav Kozlovski  于2020年8月28日周五 上午1:26写道:
>
>> Hello!
>>
>> We were investigating an issue with consistent reads in ZK which made us
>> question our assumptions.
>> We believe that ZK offers sequential consistency such that if a client
>> creates a node with zxid 0x11122a, it should be able to see (read) all
>> data changes at least up to that zxid.
>>
>> Could I ask if this is a correct understanding? We seem to be seeing
>> evidence that's pointing towards the opposite direction.
>>
>> Looking at the documentation
>> <
>> https://zookeeper.apache.org/doc/r3.1.2/zookeeperProgrammers.html#ch_zkGuarantees
>> >,
>> it does not seem to address this specific point. It says that "Updates
>> from
>> a client will be applied in the order that they were sent" and talks about
>> "Consistent Cross-Client Views" but does not seem to address cross-client
>> update order, unless I'm missing something.
>>
>> --
>> Best,
>> Stanislav
>>
>


Re: Sequential Consistency Guarantees

2020-08-27 Thread tison
Hi Stanislav,

The question you raise is a user question so I forward to user mailing
list. Please continue discussion here.

The first thing I'd like to know in order to understand your question is
that what is "data changes" in your mind?

ZooKeeper uses watcher mechanism to reflect to data changes, which is
designed possibly miss some changes.

Best,
tison.


Stanislav Kozlovski  于2020年8月28日周五 上午1:26写道:

> Hello!
>
> We were investigating an issue with consistent reads in ZK which made us
> question our assumptions.
> We believe that ZK offers sequential consistency such that if a client
> creates a node with zxid 0x11122a, it should be able to see (read) all
> data changes at least up to that zxid.
>
> Could I ask if this is a correct understanding? We seem to be seeing
> evidence that's pointing towards the opposite direction.
>
> Looking at the documentation
> <
> https://zookeeper.apache.org/doc/r3.1.2/zookeeperProgrammers.html#ch_zkGuarantees
> >,
> it does not seem to address this specific point. It says that "Updates from
> a client will be applied in the order that they were sent" and talks about
> "Consistent Cross-Client Views" but does not seem to address cross-client
> update order, unless I'm missing something.
>
> --
> Best,
> Stanislav
>


Re: [ANNOUNCE] Apache Curator 5.0.0 released

2020-05-29 Thread tison
Congrats!

Best,
tison.


Szalay-Bekő Máté  于2020年5月29日周五 下午3:14写道:

> congratulations for the Curator community, seems to be a nice release! :)
>
> On Fri, May 29, 2020 at 1:48 AM Cameron McKenzie 
> wrote:
>
> > Hello,
> >
> > The Apache Curator team is pleased to announce the  release of version
> > 5.0.0. Apache  Curator is a Java/JVM client library for Apache
> > ZooKeeper[1], a distributed coordination service. Apache Curator
> includes a
> > high-level API framework and utilities to make using Apache ZooKeeper
> much
> > easier and more reliable. It also includes recipes for common use cases
> and
> >  extensions such as service discovery and a Java 8 asynchronous DSL. For
> > more details, please visit the project website:
> http://curator.apache.org/
> >
> > The download page for Apache Curator is here:
> > https://cwiki.apache.org/confluence/display/CURATOR/Releases
> >
> > The binary artifacts for Curator are available from Maven Central and its
> > mirrors.
> >
> > For general information on Apache Curator, please visit the project
> > website:
> > http://curator.apache.org
> >
> > Release Notes - Apache Curator - Version 5.0.0
> >
> > ** Bug
> > * [CURATOR-440] - curator-framework is unable to load in OSGi
> > * [CURATOR-464] - Unable to instantiate client in OSGi
> > * [CURATOR-525] - There is a race condition in Curator which might
> lead
> > to fake SUSPENDED event and ruin CuratorFrameworkImpl inner state
> > * [CURATOR-559] - Inconsistent ZK timeouts
> >
> > ** New Feature
> > * [CURATOR-544] - Implement SessionFailedRetryPolicy
> >
> > ** Improvement
> > * [CURATOR-549] - ZooKeeper 3.6 will add support for Persistent
> > Recursive Watchers - Add Curator support
> > * [CURATOR-558] - ZooKeeper 3.6.0 has many API changes - bring
> Curator
> > up to date
> > * [CURATOR-562] - Remove ConnectionHandlingPolicy
> > * [CURATOR-564] - Changes to retry failed TestingServer starts should
> > be applied to TestingCluster
> > * [CURATOR-568] - New option allowing CuratorFramework skip ZK
> ensemble
> > tracking
> >
> > Regards,
> >
> > The Curator Team
> >
> > [1] Apache ZooKeeper https://zookeeper.apache.org/
> >
>


Re: [ANNOUNCE] Apache ZooKeeper 3.6.0 released

2020-03-09 Thread tison
Congrats!

Also I notice that the pre-requirement[1] hasn't been merged yet, which
previously causes release failure.

Best,
tison.

[1] https://github.com/apache/zookeeper/pull/1280


殷芳玺  于2020年3月9日周一 下午2:37写道:

> Great news!
>
>
> But I found the releasenotes page (
> https://zookeeper.apache.org/doc/r3.6.0/releasenotes.html) reports 404.
>
>
> Is there any issue for Apache Zookeeper website or I miss something ?
>
>
> Thank you!
>
>
> Best Regards
>
>
> Pierre Yin
>
> 
> 发件人: Enrico Olivelli 
> 发送时间: 2020年3月5日 下午 3:34:06
> 收件人: Apache Announce List; UserZooKeeper; DevZooKeeper
> 主题: [ANNOUNCE] Apache ZooKeeper 3.6.0 released
>
> The Apache ZooKeeper team is proud to announce Apache ZooKeeper version
> 3.6.0.
>
> ZooKeeper is a high-performance coordination service for distributed
> applications. It exposes common services - such as naming,
> configuration management, synchronization, and group services - in a
> simple interface so you don't have to write them from scratch. You can
> use it off-the-shelf to implement consensus, group management, leader
> election, and presence protocols. And you can build on it for your
> own, specific needs.
>
> For ZooKeeper release details and downloads, visit:
> https://zookeeper.apache.org/releases.html
>
> ZooKeeper 3.6.0 Release Notes are at:
> https://zookeeper.apache.org/doc/r3.6.0/releasenotes.html
>
> We would like to thank the contributors that made the release possible.
>
> Regards,
>
> The ZooKeeper Team
>


Re: [ANNOUNCE] Apache Curator 4.3.0 released

2020-02-29 Thread tison
Congratulations!

Best,
tison.


Cameron McKenzie  于2020年2月29日周六 下午4:59写道:

> Hello,
>
> The Apache Curator team is pleased to announce the  release of version
> 4.3.0. Apache  Curator is a Java/JVM client library for Apache
> ZooKeeper[1], a distributed coordination service. Apache Curator includes a
> high-level API framework and utilities to make using Apache ZooKeeper much
> easier and more reliable. It also includes recipes for common use cases and
>  extensions such as service discovery and a Java 8 asynchronous DSL. For
> more details, please visit the project website: http://curator.apache.org/
>
> The download page for Apache Curator is here:
> https://cwiki.apache.org/confluence/display/CURATOR/Releases
>
> The binary artifacts for Curator are available from Maven Central and its
> mirrors.
>
> For general information on Apache Curator, please visit the project
> website:
> http://curator.apache.org
>
> Release Notes - Apache Curator - Version 4.3.0
>
> ** Bug
> * [CURATOR-530] - Documentation on InterProcessSemaphoreMutex is
> misleading
> * [CURATOR-541] - Infinite loop/repeat in BaseClassForTests
> * [CURATOR-543] - ZOOKEEPER-1392 broke TestLockACLs
> * [CURATOR-546] - currentData in ModeledCacheImpl removes ZPath from
> cache entries
> * [CURATOR-551] - Curator client always call updateServerList with
> original serverList value, not the ones updated by EnsembleTracker
> * [CURATOR-559] - Inconsistent ZK timeouts
>
> ** Improvement
> * [CURATOR-511] - Add toString to ZKPaths PathAndNode
> * [CURATOR-517] - Remove unused class AdvancedTracerDriver
> * [CURATOR-533] - Improve CURATOR-505 by making the CircuitBreaker
> instance shared
> * [CURATOR-537] - Expose ourPath in LeaderLatch readonly
> * [CURATOR-547] - Make JAX-RS MessageBodyReader/-Writer impl
> (JsonServiceInstanceMarshaller) reuse Jackson ObjectMapper
> * [CURATOR-548] - Bump zookeeper version to 3.5.7
> * [CURATOR-556] - Fix typo
> * [CURATOR-560] - Make sure tickTime and minSessionTimeout are set
>
> ** Wish
> * [CURATOR-519] - Curator 4.0.x/4.1.x release using Zookeeper 3.5.5
>
> ** Task
> * [CURATOR-539] - Remove link to obsolete Stack Overflow tag
>
> Regards,
>
> The Curator Team
>
> [1] Apache ZooKeeper https://zookeeper.apache.org/
>


Re: [ANNOUNCE] Enrico Olivelli new ZooKeeper PMC Member

2020-01-21 Thread tison
Well deserved. Congrats!

Best,
tison.


rammohan ganapavarapu  于2020年1月22日周三 上午6:15写道:

> Congratulations Enrico!!
>
> On Tue, Jan 21, 2020 at 1:41 PM Flavio Junqueira  wrote:
>
> > I'm pleased to announce that Enrico Olivelli recently became the newest
> > ZooKeeper PMC member. Enrico has contributed immensely to this community;
> > he became a ZooKeeper committer in May 2019 and now he joins the PMC.
> >
> > Join me in congratulating him on the achievement. Congrats, Enrico!
> >
> > -Flavio on behalf of the Apache ZooKeeper PMC
>


Re: ZK makes apache 2019 "top 5" projects

2019-12-11 Thread tison
Kudos!

Best,
tison.


Patrick Hunt  于2019年12月12日周四 上午11:32写道:

> This is really awesome, check it out:
> https://twitter.com/phunt/status/1204966326118141952
>
> Kudos ZooKeeper community on all the hard work and efforts!
>
> Patrick
>


Re: Any interest in a gRPC version of ZooKeeper

2019-11-18 Thread tison
Interesting, at a first glance I thought it is a client wrapper for
polyglot communicating and
has nothing to do with ZOOKEEPER-102. Will take a look at the JIRA since
you attach
a plan of the whole story.

Best,
tison.


Jordan Zimmerman  于2019年11月19日周二 上午5:23写道:

> We can resurrect https://issues.apache.org/jira/browse/ZOOKEEPER-102
>
> > On Nov 18, 2019, at 4:15 PM, Jonathan Wong 
> wrote:
> >
> > I’d be willing to offer some of my spare time towards this effort.
> >
> > Jonathan Wong
> >
> >> On Nov 18, 2019, at 1:04 PM, Jordan Zimmerman <
> jor...@jordanzimmerman.com> wrote:
> >>
> >> A fresh look at APIs is definitely in order. So, this would be a
> potential ZK 4.x.
> >>
> >>> That said, we added things like rest in the past for similar reasons
> and it
> >>> never really took off... Would be a shame to see the same here.
> >>
> >> ZK has had a lot more activity with recent committers. So, maybe this
> time will be different? If at least one other person will sign up to work
> on it, I'll shepherd it.
> >>
> >> -JZ
> >>
> >>> On Nov 18, 2019, at 12:22 PM, Patrick Hunt  wrote:
> >>>
> >>> There are quite a few benefits to using grpc imo. It's come up a few
> times
> >>> where I've been part of the discussion - ala we make it b/w compat it
> would
> >>> be a good move imo. Then the question becomes what else do we fix at
> the
> >>> same time? e.g. make version fields 64 bit rather than 32? etc...
> there are
> >>> a bunch of zk4 such jiras that could be addressed at the same time (and
> >>> likely in a b/w compat way - ie zk3)
> >>>
> >>> That said, we added things like rest in the past for similar reasons
> and it
> >>> never really took off... Would be a shame to see the same here.
> >>>
> >>> Patrick
> >>>
> >>> On Mon, Nov 18, 2019 at 6:48 AM Jordan Zimmerman <
> jor...@jordanzimmerman.com>
> >>> wrote:
> >>>
> >>>>> That looks like great work. In order to address the issues, why not
> >>>> build on top of curator (https://curator.apache.org)?
> >>>>
> >>>> (Note: I'm the main author of Curator). I'd definitely try to make
> >>>> something like Curator for gRPC. I'm not sure exactly what that means
> at
> >>>> this point. But, my main goal is to enable non-JVM clients. We have C,
> >>>> python and few others now but they always lag with changes and are
> hard to
> >>>> maintain.
> >>>>
> >>>> -JZ
> >>>>
> >>>>>> On Nov 18, 2019, at 9:45 AM, Jörn Franke 
> wrote:
> >>>>>>
> >>>>>> That looks like great work. In order to address the issues, why not
> >>>> build on top of curator (https://curator.apache.org)?
> >>>>>
> >>>>> I could support in case question rise with SASL, but I am not sure
> yet
> >>>> if I find the time to actively develop for this unfortunately
> >>>>>
> >>>>>> Am 18.11.2019 um 15:25 schrieb Jordan Zimmerman <
> >>>> jor...@jordanzimmerman.com>:
> >>>>>>
> >>>>>> Hi Folks,
> >>>>>>
> >>>>>> I've written a proof of concept implementation of a
> ServerCnxnFactory
> >>>> that implements gRPC. The goal is to make it possible to easily write
> >>>> ZooKeeper clients in non-JVM languages. Using the proof of concept I
> was
> >>>> able to write a Golang client easily. What's the interest level of
> >>>> something like this? Let's discuss if it's worth pursuing. I'd be
> willing
> >>>> to move this from proof of concept to production but I'll need help
> (1 or 2
> >>>> co-developers).
> >>>>>>
> >>>>>> If you want to try it, I've pushed the Golang client and some
> >>>> instructions here (let me know if you have any issues - I'm a go
> neophyte).
> >>>> Note: "zookeeper/test.go" is the interesting file:
> >>>>>>
> >>>>>> https://github.com/Randgalt/zkgrpc <
> >>>> https://github.com/Randgalt/zkgrpc>
> >>>>>>
> >>>>>> Here's the proof of concept on the ZK server side (the interesting
> >>>> files are RpcServerCnxn.java, RpcServerCnxnFactory.

Re: Is there technical blocker for setting watches when create/setData

2019-11-12 Thread tison
Thanks for your information Jordan. Actually I come here from divergent
thinking of persistent watches :-)

Best,
tison.


Jordan Zimmerman  于2019年11月13日周三 上午10:51写道:

> Note: in the upcoming ZooKeeper release 3.6.0 you can set persistent
> watches independently of the other ZooKeeper methods. See:
> https://issues.apache.org/jira/browse/ZOOKEEPER-1416
>
> > On Nov 12, 2019, at 9:37 PM, tison  wrote:
> >
> > Hi zookeepers,
> >
> > I'm curious why we are unable to set watches when create/setData. Roughly
> > thought we pass
> > a path and be able to set a watch on that path, either there is
> associated
> > with a node or not.
> >
> > Best,
> > tison.
>
>


Is there technical blocker for setting watches when create/setData

2019-11-12 Thread tison
Hi zookeepers,

I'm curious why we are unable to set watches when create/setData. Roughly
thought we pass
a path and be able to set a watch on that path, either there is associated
with a node or not.

Best,
tison.