Repository: curator Updated Branches: refs/heads/master d13a12ff9 -> 6a9c6ab67
fixed the version handling, https://issues.apache.org/jira/browse/CURATOR-480 Project: http://git-wip-us.apache.org/repos/asf/curator/repo Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/6a9c6ab6 Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/6a9c6ab6 Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/6a9c6ab6 Branch: refs/heads/master Commit: 6a9c6ab6757158d50d00bedfdd95582aa4554fc3 Parents: d13a12f Author: Hendrik Haddorp <[email protected]> Authored: Sat Dec 8 17:11:02 2018 +0100 Committer: Hendrik Haddorp <[email protected]> Committed: Sat Dec 8 17:14:24 2018 +0100 ---------------------------------------------------------------------- .../x/async/modeled/details/ModeledFrameworkImpl.java | 2 +- .../curator/x/async/modeled/TestModeledFramework.java | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/curator/blob/6a9c6ab6/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ModeledFrameworkImpl.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ModeledFrameworkImpl.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ModeledFrameworkImpl.java index aa98602..dbbf3cb 100644 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ModeledFrameworkImpl.java +++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ModeledFrameworkImpl.java @@ -229,7 +229,7 @@ public class ModeledFrameworkImpl<T> implements ModeledFramework<T> @Override public AsyncStage<Void> delete(int version) { - return dslClient.delete().withVersion(-1).forPath(modelSpec.path().fullPath()); + return dslClient.delete().withVersion(version).forPath(modelSpec.path().fullPath()); } @Override http://git-wip-us.apache.org/repos/asf/curator/blob/6a9c6ab6/curator-x-async/src/test/java/org/apache/curator/x/async/modeled/TestModeledFramework.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/test/java/org/apache/curator/x/async/modeled/TestModeledFramework.java b/curator-x-async/src/test/java/org/apache/curator/x/async/modeled/TestModeledFramework.java index a5ed998..7cbf964 100644 --- a/curator-x-async/src/test/java/org/apache/curator/x/async/modeled/TestModeledFramework.java +++ b/curator-x-async/src/test/java/org/apache/curator/x/async/modeled/TestModeledFramework.java @@ -36,6 +36,7 @@ import org.apache.zookeeper.KeeperException; import org.apache.zookeeper.ZooDefs; import org.apache.zookeeper.data.ACL; import org.apache.zookeeper.data.Id; +import org.apache.zookeeper.data.Stat; import org.apache.zookeeper.server.auth.DigestAuthenticationProvider; import org.testng.Assert; import org.testng.annotations.Test; @@ -146,9 +147,16 @@ public class TestModeledFramework extends TestModeledFrameworkBase Assert.assertNull(e); Assert.assertTrue(v.version() > 0); }).thenCompose(versioned::set), (s, e) -> Assert.assertNull(e)); // version is correct should succeed - + Versioned<TestModel> badVersion = Versioned.from(model, 100000); complete(versioned.set(badVersion), (v, e) -> Assert.assertTrue(e instanceof KeeperException.BadVersionException)); + + final Stat stat = new Stat(); + complete(client.read(stat)); + // wrong version, needs to fail + complete(client.delete(stat.getVersion() + 1), (v, e) -> Assert.assertTrue(e instanceof KeeperException.BadVersionException)); + // correct version + complete(client.delete(stat.getVersion())); } @Test
