HBASE-9505 Enable replication by default
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1523820 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
14f8d46f2f
commit
5a0016d1af
|
@ -90,7 +90,8 @@ public class ReplicationAdmin implements Closeable {
|
|||
* @throws RuntimeException if replication isn't enabled.
|
||||
*/
|
||||
public ReplicationAdmin(Configuration conf) throws IOException {
|
||||
if (!conf.getBoolean(HConstants.REPLICATION_ENABLE_KEY, false)) {
|
||||
if (!conf.getBoolean(HConstants.REPLICATION_ENABLE_KEY,
|
||||
HConstants.REPLICATION_ENABLE_DEFAULT)) {
|
||||
throw new RuntimeException("hbase.replication isn't true, please " +
|
||||
"enable it in order to use replication");
|
||||
}
|
||||
|
|
|
@ -689,6 +689,8 @@ public final class HConstants {
|
|||
*/
|
||||
public static final String
|
||||
REPLICATION_ENABLE_KEY = "hbase.replication";
|
||||
public static final boolean
|
||||
REPLICATION_ENABLE_DEFAULT = true;
|
||||
public static final String
|
||||
REPLICATION_SOURCE_SERVICE_CLASSNAME = "hbase.replication.source.service";
|
||||
public static final String
|
||||
|
|
|
@ -173,7 +173,8 @@ public class VerifyReplication {
|
|||
if (!doCommandLine(args)) {
|
||||
return null;
|
||||
}
|
||||
if (!conf.getBoolean(HConstants.REPLICATION_ENABLE_KEY, false)) {
|
||||
if (!conf.getBoolean(HConstants.REPLICATION_ENABLE_KEY,
|
||||
HConstants.REPLICATION_ENABLE_DEFAULT)) {
|
||||
throw new IOException("Replication needs to be enabled to verify it.");
|
||||
}
|
||||
conf.set(NAME+".peerId", peerId);
|
||||
|
|
|
@ -2221,7 +2221,8 @@ public class HRegionServer implements ClientProtos.ClientService.BlockingInterfa
|
|||
HRegionServer server, FileSystem fs, Path logDir, Path oldLogDir) throws IOException{
|
||||
|
||||
// If replication is not enabled, then return immediately.
|
||||
if (!conf.getBoolean(HConstants.REPLICATION_ENABLE_KEY, false)) {
|
||||
if (!conf.getBoolean(HConstants.REPLICATION_ENABLE_KEY,
|
||||
HConstants.REPLICATION_ENABLE_DEFAULT)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -109,7 +109,8 @@ public class ReplicationLogCleaner extends BaseLogCleanerDelegate implements Abo
|
|||
@Override
|
||||
public void setConf(Configuration config) {
|
||||
// If replication is disabled, keep all members null
|
||||
if (!config.getBoolean(HConstants.REPLICATION_ENABLE_KEY, false)) {
|
||||
if (!config.getBoolean(HConstants.REPLICATION_ENABLE_KEY,
|
||||
HConstants.REPLICATION_ENABLE_DEFAULT)) {
|
||||
LOG.warn("Not configured - allowing all hlogs to be deleted");
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@ import org.apache.hadoop.conf.Configuration;
|
|||
import org.apache.hadoop.fs.FileSystem;
|
||||
import org.apache.hadoop.fs.Path;
|
||||
import org.apache.hadoop.hbase.CellScanner;
|
||||
import org.apache.hadoop.hbase.HConstants;
|
||||
import org.apache.hadoop.hbase.HRegionInfo;
|
||||
import org.apache.hadoop.hbase.HTableDescriptor;
|
||||
import org.apache.hadoop.hbase.KeyValue;
|
||||
|
@ -148,7 +149,7 @@ public class Replication implements WALActionsListener,
|
|||
* @return True if replication is enabled.
|
||||
*/
|
||||
public static boolean isReplication(final Configuration c) {
|
||||
return c.getBoolean(REPLICATION_ENABLE_KEY, false);
|
||||
return c.getBoolean(REPLICATION_ENABLE_KEY, HConstants.REPLICATION_ENABLE_DEFAULT);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -244,7 +245,10 @@ public class Replication implements WALActionsListener,
|
|||
byte[] family;
|
||||
for (KeyValue kv : logEdit.getKeyValues()) {
|
||||
family = kv.getFamily();
|
||||
// This is expected and the KV should not be replicated
|
||||
if (kv.matchingFamily(WALEdit.METAFAMILY)) continue;
|
||||
// Unexpected, has a tendency to happen in unit tests
|
||||
assert htd.getFamily(family) != null;
|
||||
|
||||
int scope = htd.getFamily(family).getScope();
|
||||
if (scope != REPLICATION_SCOPE_LOCAL &&
|
||||
|
|
|
@ -55,7 +55,7 @@ public class TestReplicationAdmin {
|
|||
public static void setUpBeforeClass() throws Exception {
|
||||
TEST_UTIL.startMiniZKCluster();
|
||||
Configuration conf = TEST_UTIL.getConfiguration();
|
||||
conf.setBoolean(HConstants.REPLICATION_ENABLE_KEY, true);
|
||||
conf.setBoolean(HConstants.REPLICATION_ENABLE_KEY, HConstants.REPLICATION_ENABLE_DEFAULT);
|
||||
admin = new ReplicationAdmin(conf);
|
||||
}
|
||||
|
||||
|
|
|
@ -53,6 +53,7 @@ import org.apache.hadoop.fs.FSDataOutputStream;
|
|||
import org.apache.hadoop.fs.FileStatus;
|
||||
import org.apache.hadoop.fs.FileSystem;
|
||||
import org.apache.hadoop.fs.Path;
|
||||
import org.apache.hadoop.hbase.HColumnDescriptor;
|
||||
import org.apache.hadoop.hbase.TableName;
|
||||
import org.apache.hadoop.hbase.HBaseConfiguration;
|
||||
import org.apache.hadoop.hbase.HBaseTestingUtility;
|
||||
|
@ -1153,6 +1154,8 @@ public class TestDistributedLogSplitting {
|
|||
}
|
||||
}
|
||||
HTableDescriptor htd = new HTableDescriptor(fullTName);
|
||||
byte[] family = Bytes.toBytes(fname);
|
||||
htd.addFamily(new HColumnDescriptor(family));
|
||||
byte[] value = new byte[edit_size];
|
||||
|
||||
List<HRegionInfo> hris = new ArrayList<HRegionInfo>();
|
||||
|
@ -1180,7 +1183,6 @@ public class TestDistributedLogSplitting {
|
|||
row = Arrays.copyOfRange(row, 3, 8); // use last 5 bytes because
|
||||
// HBaseTestingUtility.createMultiRegions use 5 bytes
|
||||
// key
|
||||
byte[] family = Bytes.toBytes(fname);
|
||||
byte[] qualifier = Bytes.toBytes("c" + Integer.toString(i));
|
||||
e.add(new KeyValue(row, family, qualifier, System.currentTimeMillis(), value));
|
||||
log.append(curRegionInfo, fullTName, e, System.currentTimeMillis(), htd);
|
||||
|
|
|
@ -65,7 +65,7 @@ public class TestLogsCleaner {
|
|||
// set TTL
|
||||
long ttl = 10000;
|
||||
conf.setLong("hbase.master.logcleaner.ttl", ttl);
|
||||
conf.setBoolean(HConstants.REPLICATION_ENABLE_KEY, true);
|
||||
conf.setBoolean(HConstants.REPLICATION_ENABLE_KEY, HConstants.REPLICATION_ENABLE_DEFAULT);
|
||||
Replication.decorateMasterConfiguration(conf);
|
||||
Server server = new DummyServer();
|
||||
ReplicationQueues repQueues =
|
||||
|
|
|
@ -97,7 +97,8 @@ public class TestMasterReplication {
|
|||
baseConfiguration.setLong("replication.source.sleepforretries", 100);
|
||||
baseConfiguration.setInt("hbase.regionserver.maxlogs", 10);
|
||||
baseConfiguration.setLong("hbase.master.logcleaner.ttl", 10);
|
||||
baseConfiguration.setBoolean(HConstants.REPLICATION_ENABLE_KEY, true);
|
||||
baseConfiguration.setBoolean(HConstants.REPLICATION_ENABLE_KEY,
|
||||
HConstants.REPLICATION_ENABLE_DEFAULT);
|
||||
baseConfiguration.setBoolean("dfs.support.append", true);
|
||||
baseConfiguration.setLong(HConstants.THREAD_WAKE_FREQUENCY, 100);
|
||||
baseConfiguration.setStrings(
|
||||
|
|
|
@ -80,7 +80,7 @@ public class TestMultiSlaveReplication {
|
|||
conf1.setLong("replication.source.sleepforretries", 100);
|
||||
conf1.setInt("hbase.regionserver.maxlogs", 10);
|
||||
conf1.setLong("hbase.master.logcleaner.ttl", 10);
|
||||
conf1.setBoolean(HConstants.REPLICATION_ENABLE_KEY, true);
|
||||
conf1.setBoolean(HConstants.REPLICATION_ENABLE_KEY, HConstants.REPLICATION_ENABLE_DEFAULT);
|
||||
conf1.setBoolean("dfs.support.append", true);
|
||||
conf1.setLong(HConstants.THREAD_WAKE_FREQUENCY, 100);
|
||||
conf1.setStrings(CoprocessorHost.USER_REGION_COPROCESSOR_CONF_KEY,
|
||||
|
|
|
@ -92,7 +92,7 @@ public class TestReplicationBase {
|
|||
conf1.setLong("hbase.master.logcleaner.ttl", 10);
|
||||
conf1.setInt("zookeeper.recovery.retry", 1);
|
||||
conf1.setInt("zookeeper.recovery.retry.intervalmill", 10);
|
||||
conf1.setBoolean(HConstants.REPLICATION_ENABLE_KEY, true);
|
||||
conf1.setBoolean(HConstants.REPLICATION_ENABLE_KEY, HConstants.REPLICATION_ENABLE_DEFAULT);
|
||||
conf1.setBoolean("dfs.support.append", true);
|
||||
conf1.setLong(HConstants.THREAD_WAKE_FREQUENCY, 100);
|
||||
conf1.setInt("replication.stats.thread.period.seconds", 5);
|
||||
|
@ -112,7 +112,7 @@ public class TestReplicationBase {
|
|||
conf2 = HBaseConfiguration.create(conf1);
|
||||
conf2.set(HConstants.ZOOKEEPER_ZNODE_PARENT, "/2");
|
||||
conf2.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 6);
|
||||
conf2.setBoolean(HConstants.REPLICATION_ENABLE_KEY, true);
|
||||
conf2.setBoolean(HConstants.REPLICATION_ENABLE_KEY, HConstants.REPLICATION_ENABLE_DEFAULT);
|
||||
conf2.setBoolean("dfs.support.append", true);
|
||||
conf2.setBoolean("hbase.tests.use.shortcircuit.reads", false);
|
||||
|
||||
|
|
|
@ -89,7 +89,8 @@ public class TestReplicationSink {
|
|||
@BeforeClass
|
||||
public static void setUpBeforeClass() throws Exception {
|
||||
TEST_UTIL.getConfiguration().setBoolean("dfs.support.append", true);
|
||||
TEST_UTIL.getConfiguration().setBoolean(HConstants.REPLICATION_ENABLE_KEY, true);
|
||||
TEST_UTIL.getConfiguration().setBoolean(HConstants.REPLICATION_ENABLE_KEY,
|
||||
HConstants.REPLICATION_ENABLE_DEFAULT);
|
||||
TEST_UTIL.startMiniCluster(3);
|
||||
SINK =
|
||||
new ReplicationSink(new Configuration(TEST_UTIL.getConfiguration()), STOPPABLE);
|
||||
|
|
|
@ -117,7 +117,8 @@ public class TestReplicationSourceManager {
|
|||
conf = HBaseConfiguration.create();
|
||||
conf.set("replication.replicationsource.implementation",
|
||||
ReplicationSourceDummy.class.getCanonicalName());
|
||||
conf.setBoolean(HConstants.REPLICATION_ENABLE_KEY, true);
|
||||
conf.setBoolean(HConstants.REPLICATION_ENABLE_KEY,
|
||||
HConstants.REPLICATION_ENABLE_DEFAULT);
|
||||
utility = new HBaseTestingUtility(conf);
|
||||
utility.startMiniZKCluster();
|
||||
|
||||
|
|
Loading…
Reference in New Issue