diff --git a/src/main/java/org/tikv/common/ConfigUtils.java b/src/main/java/org/tikv/common/ConfigUtils.java index f400242ef43..e8a368564a0 100644 --- a/src/main/java/org/tikv/common/ConfigUtils.java +++ b/src/main/java/org/tikv/common/ConfigUtils.java @@ -75,6 +75,7 @@ public class ConfigUtils { "tikv.rawkv.batch_write_slowlog_in_ms"; public static final String TIKV_RAWKV_SCAN_SLOWLOG_IN_MS = "tikv.rawkv.scan_slowlog_in_ms"; + public static final String TIFLASH_ENABLE = "tiflash.enable"; public static final String DEF_PD_ADDRESSES = "127.0.0.1:2379"; public static final String DEF_TIMEOUT = "200ms"; public static final String DEF_FORWARD_TIMEOUT = "300ms"; @@ -132,4 +133,5 @@ public class ConfigUtils { public static final String LEADER = "LEADER"; public static final String FOLLOWER = "FOLLOWER"; public static final String LEADER_AND_FOLLOWER = "LEADER_AND_FOLLOWER"; + public static final boolean DEF_TIFLASH_ENABLE = false; } diff --git a/src/main/java/org/tikv/common/PDClient.java b/src/main/java/org/tikv/common/PDClient.java index 3d2e7f4189c..47a7cb8244d 100644 --- a/src/main/java/org/tikv/common/PDClient.java +++ b/src/main/java/org/tikv/common/PDClient.java @@ -637,15 +637,16 @@ private void initCluster() { 10, 10, TimeUnit.SECONDS); - tiflashReplicaService = - Executors.newSingleThreadScheduledExecutor( - new ThreadFactoryBuilder() - .setNameFormat("PDClient-tiflash-replica-pool-%d") - .setDaemon(true) - .build()); - tiflashReplicaService.scheduleAtFixedRate( - this::updateTiFlashReplicaStatus, 10, 10, TimeUnit.SECONDS); - logger.info("init cluster: finish"); + if (conf.isTiFlashEnabled()) { + tiflashReplicaService = + Executors.newSingleThreadScheduledExecutor( + new ThreadFactoryBuilder() + .setNameFormat("PDClient-tiflash-replica-pool-%d") + .setDaemon(true) + .build()); + tiflashReplicaService.scheduleAtFixedRate( + this::updateTiFlashReplicaStatus, 10, 10, TimeUnit.SECONDS); + } } static class PDClientWrapper { diff --git a/src/main/java/org/tikv/common/TiConfiguration.java b/src/main/java/org/tikv/common/TiConfiguration.java index 54e96224017..9cdf5d24f76 100644 --- a/src/main/java/org/tikv/common/TiConfiguration.java +++ b/src/main/java/org/tikv/common/TiConfiguration.java @@ -120,6 +120,7 @@ private static void loadFromDefaultProperties() { setIfMissing(TIKV_RAWKV_CLEAN_TIMEOUT_IN_MS, DEF_TIKV_RAWKV_CLEAN_TIMEOUT_IN_MS); setIfMissing(TIKV_BO_REGION_MISS_BASE_IN_MS, DEF_TIKV_BO_REGION_MISS_BASE_IN_MS); setIfMissing(TIKV_RAWKV_SCAN_SLOWLOG_IN_MS, DEF_TIKV_RAWKV_SCAN_SLOWLOG_IN_MS); + setIfMissing(TIFLASH_ENABLE, DEF_TIFLASH_ENABLE); } public static void listAll() { @@ -327,6 +328,7 @@ private static ReplicaRead getReplicaRead(String key) { private Optional rawKVBatchWriteSlowLogInMS = getIntOption(TIKV_RAWKV_BATCH_WRITE_SLOWLOG_IN_MS); private int rawKVScanSlowLogInMS = getInt(TIKV_RAWKV_SCAN_SLOWLOG_IN_MS); + private boolean tiFlashEnable = getBoolean(TIFLASH_ENABLE); public enum KVMode { TXN, diff --git a/src/test/java/org/tikv/common/TiConfigurationTest.java b/src/test/java/org/tikv/common/TiConfigurationTest.java index 64512ba1e9d..95dea69c3d9 100644 --- a/src/test/java/org/tikv/common/TiConfigurationTest.java +++ b/src/test/java/org/tikv/common/TiConfigurationTest.java @@ -16,6 +16,7 @@ package org.tikv.common; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import org.junit.Test; @@ -26,4 +27,10 @@ public void configFileTest() { TiConfiguration conf = TiConfiguration.createRawDefault(); assertEquals("configFileTest", conf.getDBPrefix()); } + + @Test + public void tiFlashDefaultValueTest() { + TiConfiguration conf = TiConfiguration.createRawDefault(); + assertFalse(conf.isTiFlashEnabled()); + } }