Repository: curator Updated Branches: refs/heads/master 123f2ece5 -> c6f7aeb39
GetDataBuilderImpl() wasn't handling storingStatIn for async because the old DSL didn't support it Project: http://git-wip-us.apache.org/repos/asf/curator/repo Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/c6f7aeb3 Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/c6f7aeb3 Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/c6f7aeb3 Branch: refs/heads/master Commit: c6f7aeb39957158fad0207614583f867729e7770 Parents: 123f2ec Author: randgalt <[email protected]> Authored: Sun Jul 16 14:44:56 2017 -0500 Committer: randgalt <[email protected]> Committed: Sun Jul 16 14:44:56 2017 -0500 ---------------------------------------------------------------------- .../apache/curator/framework/imps/GetDataBuilderImpl.java | 5 +++++ .../org/apache/curator/x/async/TestBasicOperations.java | 10 ++++++++++ 2 files changed, 15 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/curator/blob/c6f7aeb3/curator-framework/src/main/java/org/apache/curator/framework/imps/GetDataBuilderImpl.java ---------------------------------------------------------------------- diff --git a/curator-framework/src/main/java/org/apache/curator/framework/imps/GetDataBuilderImpl.java b/curator-framework/src/main/java/org/apache/curator/framework/imps/GetDataBuilderImpl.java index 95af6dd..2319b9d 100644 --- a/curator-framework/src/main/java/org/apache/curator/framework/imps/GetDataBuilderImpl.java +++ b/curator-framework/src/main/java/org/apache/curator/framework/imps/GetDataBuilderImpl.java @@ -26,6 +26,7 @@ import org.apache.zookeeper.AsyncCallback; import org.apache.zookeeper.KeeperException; import org.apache.zookeeper.Watcher; import org.apache.zookeeper.data.Stat; +import org.apache.zookeeper.server.DataTree; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.concurrent.Callable; @@ -250,6 +251,10 @@ public class GetDataBuilderImpl implements GetDataBuilder, BackgroundOperation<S { watching.commitWatcher(rc, false); trace.setReturnCode(rc).setResponseBytesLength(data).setPath(path).setWithWatcher(watching.hasWatcher()).setStat(stat).commit(); + if ( (responseStat != null) && (stat != null) ) + { + DataTree.copyStat(stat, responseStat); + } if ( decompress && (data != null) ) { try http://git-wip-us.apache.org/repos/asf/curator/blob/c6f7aeb3/curator-x-async/src/test/java/org/apache/curator/x/async/TestBasicOperations.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/test/java/org/apache/curator/x/async/TestBasicOperations.java b/curator-x-async/src/test/java/org/apache/curator/x/async/TestBasicOperations.java index 3e980ec..f814146 100644 --- a/curator-x-async/src/test/java/org/apache/curator/x/async/TestBasicOperations.java +++ b/curator-x-async/src/test/java/org/apache/curator/x/async/TestBasicOperations.java @@ -189,4 +189,14 @@ public class TestBasicOperations extends CompletableBaseClassForTests Assert.assertEquals(v.getCode(), KeeperException.Code.CONNECTIONLOSS); }); } + + @Test + public void testGetDataWithStat() + { + complete(client.create().forPath("/test", "hey".getBytes())); + + Stat stat = new Stat(); + complete(client.getData().storingStatIn(stat).forPath("/test")); + Assert.assertEquals(stat.getDataLength(), "hey".length()); + } }
