Merge branch 'CURATOR-3.0' into CURATOR-351
Project: http://git-wip-us.apache.org/repos/asf/curator/repo Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/786d6958 Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/786d6958 Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/786d6958 Branch: refs/heads/CURATOR-397 Commit: 786d69587d183250b4108a9e18898ad4b2e94659 Parents: 521652d d034aea Author: randgalt <[email protected]> Authored: Fri Oct 28 10:05:52 2016 -0500 Committer: randgalt <[email protected]> Committed: Fri Oct 28 10:05:52 2016 -0500 ---------------------------------------------------------------------- .../org/apache/curator/ConnectionState.java | 36 ++++- .../apache/curator/CuratorZookeeperClient.java | 13 +- .../main/java/org/apache/curator/RetryLoop.java | 5 +- .../curator/drivers/AdvancedTracerDriver.java | 50 ++++++ .../org/apache/curator/drivers/EventTrace.java | 53 ++++++ .../apache/curator/drivers/OperationTrace.java | 162 +++++++++++++++++++ .../framework/imps/BackgroundSyncImpl.java | 9 +- .../framework/imps/CreateBuilderImpl.java | 66 ++++---- .../framework/imps/CuratorFrameworkImpl.java | 4 +- .../imps/CuratorMultiTransactionImpl.java | 4 +- .../framework/imps/DeleteBuilderImpl.java | 12 +- .../curator/framework/imps/EnsembleTracker.java | 5 +- .../framework/imps/ExistsBuilderImpl.java | 16 +- .../FindAndDeleteProtectedNodeInBackground.java | 6 +- .../framework/imps/GetACLBuilderImpl.java | 10 +- .../framework/imps/GetChildrenBuilderImpl.java | 12 +- .../framework/imps/GetDataBuilderImpl.java | 12 +- .../framework/imps/GzipCompressionProvider.java | 26 +-- .../framework/imps/SetACLBuilderImpl.java | 10 +- .../framework/imps/SetDataBuilderImpl.java | 13 +- .../curator/framework/imps/SyncBuilderImpl.java | 6 +- .../framework/imps/TempGetDataBuilderImpl.java | 6 +- .../apache/curator/framework/schema/Schema.java | 22 +-- .../curator/framework/schema/SchemaSet.java | 2 +- .../framework/schema/SchemaViolation.java | 101 ++++++++++++ src/site/confluence/logging.confluence | 2 +- 26 files changed, 541 insertions(+), 122 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/curator/blob/786d6958/curator-framework/src/main/java/org/apache/curator/framework/imps/CreateBuilderImpl.java ---------------------------------------------------------------------- diff --cc curator-framework/src/main/java/org/apache/curator/framework/imps/CreateBuilderImpl.java index 6ec2943,4bed564..cc2b541 --- a/curator-framework/src/main/java/org/apache/curator/framework/imps/CreateBuilderImpl.java +++ b/curator-framework/src/main/java/org/apache/curator/framework/imps/CreateBuilderImpl.java @@@ -545,52 -535,83 +545,52 @@@ class CreateBuilderImpl implements Crea { try { - final TimeTrace trace = client.getZookeeperClient().startTracer("CreateBuilderImpl-Background"); + final OperationTrace trace = client.getZookeeperClient().startAdvancedTracer("CreateBuilderImpl-Background"); + final byte[] data = operationAndData.getData().getData(); - if(storingStat == null) - { - client.getZooKeeper().create - ( - operationAndData.getData().getPath(), - data, - acling.getAclList(operationAndData.getData().getPath()), - createMode, - new AsyncCallback.StringCallback() - { - @Override - public void processResult(int rc, String path, Object ctx, String name) - { - trace.setReturnCode(rc).setRequestBytesLength(data).setPath(path).commit(); + client.getZooKeeper().create + ( + operationAndData.getData().getPath(), + operationAndData.getData().getData(), + acling.getAclList(operationAndData.getData().getPath()), + createMode, + new AsyncCallback.Create2Callback() { - + @Override + public void processResult(int rc, String path, Object ctx, String name, Stat stat) { - trace.commit(); ++ trace.setReturnCode(rc).setRequestBytesLength(data).setPath(path).commit(); - if ( (rc == KeeperException.Code.NONODE.intValue()) && createParentsIfNeeded ) - { - backgroundCreateParentsThenNode(client, operationAndData, operationAndData.getData().getPath(), backgrounding, createParentsAsContainers); - } - else if ( (rc == KeeperException.Code.NODEEXISTS.intValue()) && setDataIfExists ) - { - backgroundSetData(client, operationAndData, operationAndData.getData().getPath(), backgrounding); - } - else - { - sendBackgroundResponse(rc, path, ctx, name, null, operationAndData); - } + if ( (stat != null) && (storingStat != null) ) + { + storingStat.setAversion(stat.getAversion()); + storingStat.setCtime(stat.getCtime()); + storingStat.setCversion(stat.getCversion()); + storingStat.setCzxid(stat.getCzxid()); + storingStat.setDataLength(stat.getDataLength()); + storingStat.setEphemeralOwner(stat.getEphemeralOwner()); + storingStat.setMtime(stat.getMtime()); + storingStat.setMzxid(stat.getMzxid()); + storingStat.setNumChildren(stat.getNumChildren()); + storingStat.setPzxid(stat.getPzxid()); + storingStat.setVersion(stat.getVersion()); } - }, - backgrounding.getContext() - ); - } - else - { - client.getZooKeeper().create - ( - operationAndData.getData().getPath(), - operationAndData.getData().getData(), - acling.getAclList(operationAndData.getData().getPath()), - createMode, - new AsyncCallback.Create2Callback() { - - @Override - public void processResult(int rc, String path, Object ctx, String name, Stat stat) { - trace.commit(); - - if ( stat != null ) - { - storingStat.setAversion(stat.getAversion()); - storingStat.setCtime(stat.getCtime()); - storingStat.setCversion(stat.getCversion()); - storingStat.setCzxid(stat.getCzxid()); - storingStat.setDataLength(stat.getDataLength()); - storingStat.setEphemeralOwner(stat.getEphemeralOwner()); - storingStat.setMtime(stat.getMtime()); - storingStat.setMzxid(stat.getMzxid()); - storingStat.setNumChildren(stat.getNumChildren()); - storingStat.setPzxid(stat.getPzxid()); - storingStat.setVersion(stat.getVersion()); - } - if ( (rc == KeeperException.Code.NONODE.intValue()) && createParentsIfNeeded ) - { - backgroundCreateParentsThenNode(client, operationAndData, operationAndData.getData().getPath(), backgrounding, createParentsAsContainers); - } - else - { - sendBackgroundResponse(rc, path, ctx, name, stat, operationAndData); - } + if ( (rc == KeeperException.Code.NONODE.intValue()) && createParentsIfNeeded ) + { + backgroundCreateParentsThenNode(client, operationAndData, operationAndData.getData().getPath(), backgrounding, createParentsAsContainers); } - }, - backgrounding.getContext() - ); - } + else if ( (rc == KeeperException.Code.NODEEXISTS.intValue()) && setDataIfExists ) + { + backgroundSetData(client, operationAndData, operationAndData.getData().getPath(), backgrounding); + } + else + { + sendBackgroundResponse(rc, path, ctx, name, stat, operationAndData); + } + } + }, + backgrounding.getContext(), + ttl + ); } catch ( Throwable e ) {
