Index: hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java (date 1398729591000) +++ hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java (revision ) @@ -43,6 +43,7 @@ import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.catalog.CatalogTracker; import org.apache.hadoop.hbase.client.HTableInterface; +import org.apache.hadoop.hbase.consensus.ConsensusProvider; import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment; import org.apache.hadoop.hbase.ipc.BlockingRpcCallback; import org.apache.hadoop.hbase.ipc.FifoRpcScheduler; @@ -150,6 +151,11 @@ @Override public ZooKeeperWatcher getZooKeeper() { return zookeeper; + } + + @Override + public ConsensusProvider getConsensusProvider() { + return null; } @Override Index: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (date 1398729591000) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (revision ) @@ -2146,6 +2146,7 @@ return zooKeeper; } + @Override public ConsensusProvider getConsensusProvider() { return consensusProvider; } Index: hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java (date 1398729591000) +++ hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java (revision ) @@ -56,6 +56,7 @@ import org.apache.hadoop.hbase.client.HConnectionManager; import org.apache.hadoop.hbase.client.HConnectionTestingUtility; import org.apache.hadoop.hbase.client.Result; +import org.apache.hadoop.hbase.consensus.ConsensusProvider; import org.apache.hadoop.hbase.executor.ExecutorService; import org.apache.hadoop.hbase.io.Reference; import org.apache.hadoop.hbase.master.CatalogJanitor.SplitParentFirstComparator; @@ -164,6 +165,11 @@ } @Override + public ConsensusProvider getConsensusProvider() { + return null; + } + + @Override public void abort(String why, Throwable e) { //no-op } @@ -239,6 +245,11 @@ @Override public ZooKeeperWatcher getZooKeeper() { + return null; + } + + @Override + public ConsensusProvider getConsensusProvider() { return null; } Index: hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestActiveMasterManager.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestActiveMasterManager.java (date 1398729591000) +++ hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestActiveMasterManager.java (revision ) @@ -33,6 +33,7 @@ import org.apache.hadoop.hbase.Server; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.catalog.CatalogTracker; +import org.apache.hadoop.hbase.consensus.ConsensusProvider; import org.apache.hadoop.hbase.monitoring.MonitoredTask; import org.apache.hadoop.hbase.zookeeper.ClusterStatusTracker; import org.apache.hadoop.hbase.zookeeper.MasterAddressTracker; @@ -277,6 +278,11 @@ @Override public ZooKeeperWatcher getZooKeeper() { + return null; + } + + @Override + public ConsensusProvider getConsensusProvider() { return null; } Index: hbase-server/src/test/java/org/apache/hadoop/hbase/util/MockServer.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/test/java/org/apache/hadoop/hbase/util/MockServer.java (date 1398729591000) +++ hbase-server/src/test/java/org/apache/hadoop/hbase/util/MockServer.java (revision ) @@ -27,6 +27,7 @@ import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.ZooKeeperConnectionException; import org.apache.hadoop.hbase.catalog.CatalogTracker; +import org.apache.hadoop.hbase.consensus.ConsensusProvider; import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher; /** @@ -92,6 +93,11 @@ @Override public ZooKeeperWatcher getZooKeeper() { return this.zk; + } + + @Override + public ConsensusProvider getConsensusProvider() { + return null; } @Override Index: hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockRegionServer.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockRegionServer.java (date 1398729591000) +++ hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockRegionServer.java (revision ) @@ -39,6 +39,7 @@ import org.apache.hadoop.hbase.client.Get; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.Scan; +import org.apache.hadoop.hbase.consensus.ConsensusProvider; import org.apache.hadoop.hbase.executor.ExecutorService; import org.apache.hadoop.hbase.ipc.PayloadCarryingRpcController; import org.apache.hadoop.hbase.ipc.RpcServerInterface; @@ -265,6 +266,11 @@ @Override public ZooKeeperWatcher getZooKeeper() { return this.zkw; + } + + @Override + public ConsensusProvider getConsensusProvider() { + return null; } @Override Index: hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationStateZKImpl.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationStateZKImpl.java (date 1398729591000) +++ hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationStateZKImpl.java (revision ) @@ -30,6 +30,7 @@ import org.apache.hadoop.hbase.Server; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.catalog.CatalogTracker; +import org.apache.hadoop.hbase.consensus.ConsensusProvider; import org.apache.hadoop.hbase.zookeeper.ZKClusterId; import org.apache.hadoop.hbase.zookeeper.ZKUtil; import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher; @@ -139,6 +140,11 @@ @Override public ZooKeeperWatcher getZooKeeper() { return zkw; + } + + @Override + public ConsensusProvider getConsensusProvider() { + return null; } @Override Index: hbase-server/src/main/java/org/apache/hadoop/hbase/consensus/ZkConsensusProvider.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/consensus/ZkConsensusProvider.java (date 1398729591000) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/consensus/ZkConsensusProvider.java (revision ) @@ -25,22 +25,14 @@ * ZooKeeper-based implementation of {@link ConsensusProvider}. */ @InterfaceAudience.Private -public class ZkConsensusProvider implements ConsensusProvider { +public class ZkConsensusProvider extends BaseConsensusProvider { private Server server; private ZooKeeperWatcher watcher; - + @Override public void initialize(Server server) { this.server = server; this.watcher = server.getZooKeeper(); - } - - @Override - public void start() { - } - - @Override - public void stop() { } @Override Index: hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClockSkewDetection.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClockSkewDetection.java (date 1398729591000) +++ hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClockSkewDetection.java (revision ) @@ -27,6 +27,7 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.*; import org.apache.hadoop.hbase.catalog.CatalogTracker; +import org.apache.hadoop.hbase.consensus.ConsensusProvider; import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -57,6 +58,11 @@ @Override public ZooKeeperWatcher getZooKeeper() { + return null; + } + + @Override + public ConsensusProvider getConsensusProvider() { return null; } Index: hbase-client/src/main/java/org/apache/hadoop/hbase/Server.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-client/src/main/java/org/apache/hadoop/hbase/Server.java (date 1398729591000) +++ hbase-client/src/main/java/org/apache/hadoop/hbase/Server.java (revision ) @@ -21,6 +21,7 @@ import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.catalog.CatalogTracker; +import org.apache.hadoop.hbase.consensus.ConsensusProvider; import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher; /** @@ -48,4 +49,9 @@ * @return The unique server name for this server. */ ServerName getServerName(); + + /** + * Get ConsensusProvider instance for this server. + */ + ConsensusProvider getConsensusProvider(); } Index: hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.java (date 1398729591000) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.java (revision ) @@ -29,6 +29,7 @@ import org.apache.hadoop.hbase.Server; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.catalog.CatalogTracker; +import org.apache.hadoop.hbase.consensus.ConsensusProvider; import org.apache.hadoop.hbase.replication.regionserver.Replication; import org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager; import org.apache.hadoop.hbase.util.FSUtils; @@ -142,6 +143,11 @@ @Override public ZooKeeperWatcher getZooKeeper() { return zkw; + } + + @Override + public ConsensusProvider getConsensusProvider() { + return null; } @Override Index: hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestHFileLinkCleaner.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestHFileLinkCleaner.java (date 1398729591000) +++ hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestHFileLinkCleaner.java (revision ) @@ -34,6 +34,7 @@ import org.apache.hadoop.hbase.SmallTests; import org.apache.hadoop.hbase.catalog.CatalogTracker; import org.apache.hadoop.hbase.HRegionInfo; +import org.apache.hadoop.hbase.consensus.ConsensusProvider; import org.apache.hadoop.hbase.io.HFileLink; import org.apache.hadoop.hbase.util.FSUtils; import org.apache.hadoop.hbase.util.HFileArchiveUtil; @@ -141,6 +142,11 @@ } catch (IOException e) { e.printStackTrace(); } + return null; + } + + @Override + public ConsensusProvider getConsensusProvider() { return null; } Index: hbase-server/src/main/java/org/apache/hadoop/hbase/consensus/ConsensusProviderFactory.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/consensus/ConsensusProviderFactory.java (date 1398729591000) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/consensus/ConsensusProviderFactory.java (revision ) @@ -23,7 +23,7 @@ import org.apache.hadoop.util.ReflectionUtils; /** - * Creates instance of {@link org.apache.hadoop.hbase.consensus.ConsensusProvider} + * Creates instance of {@link ConsensusProvider} * based on configuration. */ @InterfaceAudience.Private @@ -32,7 +32,7 @@ /** * Creates consensus provider from the given configuration. * @param conf Configuration - * @return A {@link org.apache.hadoop.hbase.consensus.ConsensusProvider} + * @return A {@link ConsensusProvider} */ public static ConsensusProvider getConsensusProvider(Configuration conf) { Class consensusKlass = Index: hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationTrackerZKImpl.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationTrackerZKImpl.java (date 1398729591000) +++ hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationTrackerZKImpl.java (revision ) @@ -32,6 +32,7 @@ import org.apache.hadoop.hbase.Server; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.catalog.CatalogTracker; +import org.apache.hadoop.hbase.consensus.ConsensusProvider; import org.apache.hadoop.hbase.zookeeper.ZKClusterId; import org.apache.hadoop.hbase.zookeeper.ZKUtil; import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher; @@ -215,6 +216,11 @@ @Override public ZooKeeperWatcher getZooKeeper() { return zkw; + } + + @Override + public ConsensusProvider getConsensusProvider() { + return null; } @Override Index: hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.java (date 1398729591000) +++ hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.java (revision ) @@ -48,6 +48,7 @@ import org.apache.hadoop.hbase.Server; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.catalog.CatalogTracker; +import org.apache.hadoop.hbase.consensus.ConsensusProvider; import org.apache.hadoop.hbase.regionserver.wal.HLog; import org.apache.hadoop.hbase.regionserver.wal.HLogFactory; import org.apache.hadoop.hbase.regionserver.wal.HLogKey; @@ -388,6 +389,11 @@ @Override public ZooKeeperWatcher getZooKeeper() { return zkw; + } + + @Override + public ConsensusProvider getConsensusProvider() { + return null; } @Override Index: hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestLogsCleaner.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestLogsCleaner.java (date 1398729591000) +++ hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestLogsCleaner.java (revision ) @@ -28,6 +28,7 @@ import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.*; import org.apache.hadoop.hbase.catalog.CatalogTracker; +import org.apache.hadoop.hbase.consensus.ConsensusProvider; import org.apache.hadoop.hbase.replication.ReplicationFactory; import org.apache.hadoop.hbase.replication.ReplicationQueues; import org.apache.hadoop.hbase.replication.regionserver.Replication; @@ -147,6 +148,11 @@ } catch (IOException e) { e.printStackTrace(); } + return null; + } + + @Override + public ConsensusProvider getConsensusProvider() { return null; } Index: hbase-server/src/test/java/org/apache/hadoop/hbase/MockRegionServerServices.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/test/java/org/apache/hadoop/hbase/MockRegionServerServices.java (date 1398729591000) +++ hbase-server/src/test/java/org/apache/hadoop/hbase/MockRegionServerServices.java (revision ) @@ -27,6 +27,7 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.hbase.catalog.CatalogTracker; +import org.apache.hadoop.hbase.consensus.ConsensusProvider; import org.apache.hadoop.hbase.executor.ExecutorService; import org.apache.hadoop.hbase.fs.HFileSystem; import org.apache.hadoop.hbase.ipc.RpcServerInterface; @@ -133,6 +134,11 @@ @Override public ZooKeeperWatcher getZooKeeper() { return zkw; + } + + @Override + public ConsensusProvider getConsensusProvider() { + return null; } public RegionServerAccounting getRegionServerAccounting() { Index: hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHeapMemoryManager.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHeapMemoryManager.java (date 1398729591000) +++ hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHeapMemoryManager.java (revision ) @@ -33,6 +33,7 @@ import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.SmallTests; import org.apache.hadoop.hbase.catalog.CatalogTracker; +import org.apache.hadoop.hbase.consensus.ConsensusProvider; import org.apache.hadoop.hbase.io.hfile.BlockCacheColumnFamilySummary; import org.apache.hadoop.hbase.io.hfile.BlockCacheKey; import org.apache.hadoop.hbase.io.hfile.CacheStats; @@ -414,6 +415,11 @@ @Override public ZooKeeperWatcher getZooKeeper() { + return null; + } + + @Override + public ConsensusProvider getConsensusProvider() { return null; } Index: hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestHFileCleaner.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestHFileCleaner.java (date 1398729591000) +++ hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestHFileCleaner.java (revision ) @@ -35,6 +35,7 @@ import org.apache.hadoop.hbase.Server; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.catalog.CatalogTracker; +import org.apache.hadoop.hbase.consensus.ConsensusProvider; import org.apache.hadoop.hbase.util.EnvironmentEdge; import org.apache.hadoop.hbase.util.EnvironmentEdgeManager; import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher; @@ -205,6 +206,11 @@ } catch (IOException e) { e.printStackTrace(); } + return null; + } + + @Override + public ConsensusProvider getConsensusProvider() { return null; } Index: hbase-server/src/main/java/org/apache/hadoop/hbase/consensus/BaseConsensusProvider.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/consensus/BaseConsensusProvider.java (revision ) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/consensus/BaseConsensusProvider.java (revision ) @@ -0,0 +1,48 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.hbase.consensus; + +import org.apache.hadoop.classification.InterfaceAudience; +import org.apache.hadoop.hbase.Server; + +/** + * Base class for {@link ConsensusProvider} implementations. + * Defines methods to retrieve consensus objects for relevant areas. ConsensusProvider + * reference returned from Server interface has to be casted to this type to + * access those methods. + */ +@InterfaceAudience.Private +public class BaseConsensusProvider implements ConsensusProvider { + + @Override + public void initialize(Server server) { + } + + @Override + public void start() { + } + + @Override + public void stop() { + } + + @Override + public Server getServer() { + return null; + } +} Index: hbase-server/src/main/java/org/apache/hadoop/hbase/consensus/ConsensusProvider.java =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/consensus/ConsensusProvider.java (date 1398729591000) +++ hbase-client/src/main/java/org/apache/hadoop/hbase/consensus/ConsensusProvider.java (revision ) @@ -23,7 +23,8 @@ /** * Implementations of this interface will keep and return to clients * implementations of classes providing API to execute - * coordinated operations. + * coordinated operations. This interface is client-sise, so it does NOT + * include method to retrieve the particular consensus providers. * * For each coarse-grained area of operations there will be a separate * interface with implementation, providing API for relevant operations