Zili, Thank you for driving this. We must ensure that that change does not break 100% compatibility with 3.4 client.
The best way to prove it is to setup some integration test that tests a compatibility matrix, it will be an huge work. In absence of that facility we need some Jute expert to review the change. Personally I don't have much cycles to study jute these days. Enrico Il gio 12 set 2019, 01:37 Zili Chen <wander4...@gmail.com> ha scritto: > I met this issue again when working on Pravega[1], a project using > ZooKeeper. > > I think it is nice to have that we throw the exactly path that cause the > multi-op fails. > > Could you help to review the pull request? > > Best, > tison. > > [1] https://github.com/pravega/pravega/pull/4140#discussion_r322096138 > > > Zili Chen <wander4...@gmail.com> 于2019年8月25日周日 上午4:19写道: > > > Hi ZooKeepers, > > > > ZOOKEEPER-3290 has been revived and here is its pull request[1]. > > > > Basically it extends field of ErrorTxn/ErrorResponse/ErrorResult to > > reflect accurate path info when a transaction failed. For example, > > assumed we do check1(path1)-create1(path2) and fail with > > NoNodeException, previously we don't know it is because absence of > > path1? or path2? or parent of one of them? Now we will throw a > > KeeperException with the accurate path that cause it. > > > > For instance, > > > > ZooKeeper zk = new ZooKeeper(...); > > > > zk.multi(List.of( > > Op.check("/path1", -1), > > Op.create("/path2", ...))); > > > > formerly throw with > > > > Exception in thread "main" > > org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = > > NoNode > > > > but now > > > > Exception in thread "main" > > org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = > > NoNode for /path1 > > > > Theoretically Jute is fine with this change so that we don't need to > worry > > about compatibility issue. Please checkout the branch if you are > > interested > > in this feature. > > > > Any feedback includes things work as expected is welcome. > > > > Best, > > tison. > > > > [1] https://github.com/apache/zookeeper/pull/839 > > >