You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@curator.apache.org by ra...@apache.org on 2015/01/12 22:03:46 UTC
[2/3] curator git commit: Merge branch 'CURATOR-111' of
https://github.com/kambatla/curator into CURATOR-111
Merge branch 'CURATOR-111' of https://github.com/kambatla/curator into CURATOR-111
Conflicts:
curator-framework/src/main/java/org/apache/curator/framework/imps/CuratorFrameworkImpl.java
curator-framework/src/test/java/org/apache/curator/framework/imps/TestFramework.java
Project: http://git-wip-us.apache.org/repos/asf/curator/repo
Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/58ecd64f
Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/58ecd64f
Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/58ecd64f
Branch: refs/heads/CURATOR-111
Commit: 58ecd64f0b0b05590f2bcd350d17c173a5c791ab
Parents: 84699d3 71dc640
Author: randgalt <ra...@apache.org>
Authored: Mon Jan 12 15:55:20 2015 -0500
Committer: randgalt <ra...@apache.org>
Committed: Mon Jan 12 15:55:20 2015 -0500
----------------------------------------------------------------------
.../org/apache/curator/framework/AuthInfo.java | 51 ++++++++++++++++++++
.../framework/CuratorFrameworkFactory.java | 23 +++++++++
.../framework/imps/CuratorFrameworkImpl.java | 42 ++++++----------
.../curator/framework/imps/TestFramework.java | 44 +++++++++++++++++
4 files changed, 132 insertions(+), 28 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/curator/blob/58ecd64f/curator-framework/src/main/java/org/apache/curator/framework/CuratorFrameworkFactory.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/curator/blob/58ecd64f/curator-framework/src/main/java/org/apache/curator/framework/imps/CuratorFrameworkImpl.java
----------------------------------------------------------------------
diff --cc curator-framework/src/main/java/org/apache/curator/framework/imps/CuratorFrameworkImpl.java
index fc462d4,f7b08a6..c38617d
--- a/curator-framework/src/main/java/org/apache/curator/framework/imps/CuratorFrameworkImpl.java
+++ b/curator-framework/src/main/java/org/apache/curator/framework/imps/CuratorFrameworkImpl.java
@@@ -60,60 -60,36 +63,39 @@@ import java.util.concurrent.atomic.Atom
public class CuratorFrameworkImpl implements CuratorFramework
{
-
- private final Logger log = LoggerFactory.getLogger(getClass());
- private final CuratorZookeeperClient client;
- private final ListenerContainer<CuratorListener> listeners;
- private final ListenerContainer<UnhandledErrorListener> unhandledErrorListeners;
- private final ThreadFactory threadFactory;
- private final BlockingQueue<OperationAndData<?>> backgroundOperations;
- private final NamespaceImpl namespace;
- private final ConnectionStateManager connectionStateManager;
- private final List<AuthInfo> authInfos;
- private final byte[] defaultData;
- private final FailedDeleteManager failedDeleteManager;
- private final CompressionProvider compressionProvider;
- private final ACLProvider aclProvider;
- private final NamespaceFacadeCache namespaceFacadeCache;
- private final NamespaceWatcherMap namespaceWatcherMap = new NamespaceWatcherMap(this);
-
- private volatile ExecutorService executorService;
- private final AtomicBoolean logAsErrorConnectionErrors = new AtomicBoolean(false);
-
- private static final boolean LOG_ALL_CONNECTION_ISSUES_AS_ERROR_LEVEL = !Boolean.getBoolean(DebugUtils.PROPERTY_LOG_ONLY_FIRST_CONNECTION_ISSUE_AS_ERROR_LEVEL);
+ private final Logger log = LoggerFactory.getLogger(getClass());
+ private final CuratorZookeeperClient client;
+ private final ListenerContainer<CuratorListener> listeners;
+ private final ListenerContainer<UnhandledErrorListener> unhandledErrorListeners;
+ private final ThreadFactory threadFactory;
+ private final int maxCloseWaitMs;
+ private final BlockingQueue<OperationAndData<?>> backgroundOperations;
+ private final NamespaceImpl namespace;
+ private final ConnectionStateManager connectionStateManager;
- private final AtomicReference<AuthInfo> authInfo = new AtomicReference<AuthInfo>();
++ private final List<AuthInfo> authInfos;
+ private final byte[] defaultData;
+ private final FailedDeleteManager failedDeleteManager;
+ private final CompressionProvider compressionProvider;
+ private final ACLProvider aclProvider;
+ private final NamespaceFacadeCache namespaceFacadeCache;
+ private final NamespaceWatcherMap namespaceWatcherMap = new NamespaceWatcherMap(this);
+
+ private volatile ExecutorService executorService;
+ private final AtomicBoolean logAsErrorConnectionErrors = new AtomicBoolean(false);
+
+ private static final boolean LOG_ALL_CONNECTION_ISSUES_AS_ERROR_LEVEL = !Boolean.getBoolean(DebugUtils.PROPERTY_LOG_ONLY_FIRST_CONNECTION_ISSUE_AS_ERROR_LEVEL);
interface DebugBackgroundListener
{
- void listen(OperationAndData<?> data);
+ void listen(OperationAndData<?> data);
}
- volatile DebugBackgroundListener debugListener = null;
- private final AtomicReference<CuratorFrameworkState> state;
+ volatile DebugBackgroundListener debugListener = null;
+ @VisibleForTesting
+ public volatile UnhandledErrorListener debugUnhandledErrorListener = null;
+
+ private final AtomicReference<CuratorFrameworkState> state;
- private static class AuthInfo
- {
- final String scheme;
- final byte[] auth;
-
- private AuthInfo(String scheme, byte[] auth)
- {
- this.scheme = scheme;
- this.auth = auth;
- }
-
- @Override
- public String toString()
- {
- return "AuthInfo{" +
- "scheme='" + scheme + '\'' +
- ", auth=" + Arrays.toString(auth) +
- '}';
- }
- }
-
public CuratorFrameworkImpl(CuratorFrameworkFactory.Builder builder)
{
ZookeeperFactory localZookeeperFactory = makeZookeeperFactory(builder.getZookeeperFactory());
@@@ -138,12 -135,17 +120,17 @@@
aclProvider = builder.getAclProvider();
state = new AtomicReference<CuratorFrameworkState>(CuratorFrameworkState.LATENT);
- byte[] builderDefaultData = builder.getDefaultData();
+ byte[] builderDefaultData = builder.getDefaultData();
defaultData = (builderDefaultData != null) ? Arrays.copyOf(builderDefaultData, builderDefaultData.length) : new byte[0];
+ authInfos = new ArrayList<AuthInfo>();
if ( builder.getAuthScheme() != null )
{
- authInfo.set(new AuthInfo(builder.getAuthScheme(), builder.getAuthValue()));
+ authInfos.add(new AuthInfo(builder.getAuthScheme(), builder.getAuthValue()));
+ }
+ if ( builder.getAuthInfos() != null )
+ {
+ authInfos.addAll(builder.getAuthInfos());
}
failedDeleteManager = new FailedDeleteManager(this);
@@@ -238,8 -226,9 +225,7 @@@
log.info("Starting");
if ( !state.compareAndSet(CuratorFrameworkState.LATENT, CuratorFrameworkState.STARTED) )
{
- IllegalStateException ise = new IllegalStateException("Cannot be started more than once");
- throw ise;
- IllegalStateException error = new IllegalStateException();
- log.error("Cannot be started more than once", error);
- throw error;
++ throw new IllegalStateException("Cannot be started more than once");
}
try
http://git-wip-us.apache.org/repos/asf/curator/blob/58ecd64f/curator-framework/src/test/java/org/apache/curator/framework/imps/TestFramework.java
----------------------------------------------------------------------
diff --cc curator-framework/src/test/java/org/apache/curator/framework/imps/TestFramework.java
index 5a640db,0f51b25..c98dd0f
--- a/curator-framework/src/test/java/org/apache/curator/framework/imps/TestFramework.java
+++ b/curator-framework/src/test/java/org/apache/curator/framework/imps/TestFramework.java
@@@ -19,6 -19,9 +19,7 @@@
package org.apache.curator.framework.imps;
import com.google.common.collect.Lists;
+ import org.apache.curator.framework.AuthInfo;
-import org.apache.curator.test.BaseClassForTests;
-import org.apache.curator.utils.CloseableUtils;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.framework.api.BackgroundCallback;
@@@ -41,6 -43,8 +42,7 @@@ import org.apache.zookeeper.data.ACL
import org.apache.zookeeper.data.Stat;
import org.testng.Assert;
import org.testng.annotations.Test;
-
+ import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.CountDownLatch;