You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@zookeeper.apache.org by GitBox <gi...@apache.org> on 2021/03/16 13:43:30 UTC

[GitHub] [zookeeper] TisonKun edited a comment on pull request #839: ZOOKEEPER-3290: Throw detailed KeeperException when multi-op failed

TisonKun edited a comment on pull request #839:
URL: https://github.com/apache/zookeeper/pull/839#issuecomment-800268518


   > @TisonKun I'm testing with the following code:
   > 
   > ```java
   > zk.create("/multiop1", null, OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
   > zk.multi(Arrays.asList(
   >                 Op.check("/multiop1", -1),
   >                 Op.delete("/andor", -1),
   >                 Op.delete("/multiop1", -1)));
   > ```
   > 
   > 2nd op should fail in the multi.
   > 
   > Results:
   > 
   > 1. new client - new server: OK. Path "/andor" is included in the exception.
   > 2. new client - 3.5.5 server: OK. Path is not included, but exception is thrown.
   > 3. 3.5.5 client - new server: No exception thrown.
   > 
   > Here's the problem and that's why I'm saying it cannot be done in backward compatible way. I think we can only include it in an upcoming 4.0.0 release.
   
   A recap: years later I understand the issue how jute blocks schema evolution and it is the same reason why we need `create2` for returning stat info. Anyone who want to pick up this issue again might think of introducing a new interface and deprecated the old interface. Sadly we can only act like this.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org