From 81992e9bf0c38b80b0121ea444fb9a8efdb5272c Mon Sep 17 00:00:00 2001 From: Ankita Wagh Date: Mon, 29 Nov 2021 23:37:58 +0000 Subject: [PATCH 1/2] TiFlash check Signed-off-by: Ankita Wagh --- src/main/java/org/tikv/common/ConfigUtils.java | 2 ++ src/main/java/org/tikv/common/PDClient.java | 18 ++++++++++-------- .../java/org/tikv/common/TiConfiguration.java | 7 +++++++ 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/tikv/common/ConfigUtils.java b/src/main/java/org/tikv/common/ConfigUtils.java index 94734cea937..35086a87ba0 100644 --- a/src/main/java/org/tikv/common/ConfigUtils.java +++ b/src/main/java/org/tikv/common/ConfigUtils.java @@ -76,6 +76,7 @@ public class ConfigUtils { public static final String TIKV_KEY_CERT_CHAIN = "tikv.key_cert_chain"; public static final String TIKV_KEY_FILE = "tikv.key_file"; + 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_TIKV_GRPC_INGEST_TIMEOUT = "200s"; @@ -133,4 +134,5 @@ public class ConfigUtils { public static final int DEF_TIKV_GRPC_KEEPALIVE_TIME = 10; public static final int DEF_TIKV_GRPC_KEEPALIVE_TIMEOUT = 3; public static final boolean DEF_TIKV_TLS_ENABLE = false; + 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 d86363f3c66..784819a0d47 100644 --- a/src/main/java/org/tikv/common/PDClient.java +++ b/src/main/java/org/tikv/common/PDClient.java @@ -692,14 +692,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); + 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 a122c1043c9..4c1073631de 100644 --- a/src/main/java/org/tikv/common/TiConfiguration.java +++ b/src/main/java/org/tikv/common/TiConfiguration.java @@ -121,6 +121,7 @@ private static void loadFromDefaultProperties() { setIfMissing(TIKV_GRPC_KEEPALIVE_TIME, DEF_TIKV_GRPC_KEEPALIVE_TIME); setIfMissing(TIKV_GRPC_KEEPALIVE_TIMEOUT, DEF_TIKV_GRPC_KEEPALIVE_TIMEOUT); setIfMissing(TIKV_TLS_ENABLE, DEF_TIKV_TLS_ENABLE); + setIfMissing(TIFLASH_ENABLE, DEF_TIFLASH_ENABLE); } public static void listAll() { @@ -327,6 +328,8 @@ private static ReplicaRead getReplicaRead(String key) { private String keyCertChainFile = getOption(TIKV_KEY_CERT_CHAIN).orElse(null); private String keyFile = getOption(TIKV_KEY_FILE).orElse(null); + private boolean tiFlashEnable = getBoolean(TIFLASH_ENABLE); + private boolean isTest = false; private int keepaliveTime = getInt(TIKV_GRPC_KEEPALIVE_TIME); @@ -730,6 +733,10 @@ public void setKeepaliveTimeout(int timeout) { this.keepaliveTimeout = timeout; } + public boolean isTiFlashEnabled() { + return tiFlashEnable; + } + public boolean isTlsEnable() { return tlsEnable; } From 7594a22957f0658f49c87f6cb5028e605a7389e3 Mon Sep 17 00:00:00 2001 From: Ankita Wagh Date: Tue, 30 Nov 2021 01:52:43 +0000 Subject: [PATCH 2/2] Adding UT Signed-off-by: Ankita Wagh --- src/test/java/org/tikv/common/TiConfigurationTest.java | 7 +++++++ 1 file changed, 7 insertions(+) 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()); + } }