@@ -120,6 +120,20 @@ private static void loadFromDefaultProperties() {
120120 setIfMissing (TIKV_RAWKV_CLEAN_TIMEOUT_IN_MS , DEF_TIKV_RAWKV_CLEAN_TIMEOUT_IN_MS );
121121 setIfMissing (TIKV_BO_REGION_MISS_BASE_IN_MS , DEF_TIKV_BO_REGION_MISS_BASE_IN_MS );
122122 setIfMissing (TIKV_RAWKV_SCAN_SLOWLOG_IN_MS , DEF_TIKV_RAWKV_SCAN_SLOWLOG_IN_MS );
123+ setIfMissing (TiKV_CIRCUIT_BREAK_ENABLE , DEF_TiKV_CIRCUIT_BREAK_ENABLE );
124+ setIfMissing (
125+ TiKV_CIRCUIT_BREAK_AVAILABILITY_WINDOW_IN_SECONDS ,
126+ DEF_TiKV_CIRCUIT_BREAK_AVAILABILITY_WINDOW_IN_SECONDS );
127+ setIfMissing (
128+ TiKV_CIRCUIT_BREAK_AVAILABILITY_ERROR_THRESHOLD_PERCENTAGE ,
129+ DEF_TiKV_CIRCUIT_BREAK_AVAILABILITY_ERROR_THRESHOLD_PERCENTAGE );
130+ setIfMissing (
131+ TiKV_CIRCUIT_BREAK_AVAILABILITY_REQUEST_VOLUMN_THRESHOLD ,
132+ DEF_TiKV_CIRCUIT_BREAK_AVAILABILITY_REQUST_VOLUMN_THRESHOLD );
133+ setIfMissing (
134+ TiKV_CIRCUIT_BREAK_SLEEP_WINDOW_IN_SECONDS , DEF_TiKV_CIRCUIT_BREAK_SLEEP_WINDOW_IN_SECONDS );
135+ setIfMissing (
136+ TiKV_CIRCUIT_BREAK_ATTEMPT_REQUEST_COUNT , DEF_TiKV_CIRCUIT_BREAK_ATTEMPT_REQUEST_COUNT );
123137 }
124138
125139 public static void listAll () {
@@ -328,6 +342,20 @@ private static ReplicaRead getReplicaRead(String key) {
328342 getIntOption (TIKV_RAWKV_BATCH_WRITE_SLOWLOG_IN_MS );
329343 private int rawKVScanSlowLogInMS = getInt (TIKV_RAWKV_SCAN_SLOWLOG_IN_MS );
330344
345+ private boolean tiFlashEnable = getBoolean (TIFLASH_ENABLE );
346+
347+ private boolean isTest = false ;
348+
349+ private boolean circuitBreakEnable = getBoolean (TiKV_CIRCUIT_BREAK_ENABLE );
350+ private int circuitBreakAvailabilityWindowInSeconds =
351+ getInt (TiKV_CIRCUIT_BREAK_AVAILABILITY_WINDOW_IN_SECONDS );
352+ private int circuitBreakAvailabilityErrorThresholdPercentage =
353+ getInt (TiKV_CIRCUIT_BREAK_AVAILABILITY_ERROR_THRESHOLD_PERCENTAGE );
354+ private int circuitBreakAvailabilityRequestVolumnThreshold =
355+ getInt (TiKV_CIRCUIT_BREAK_AVAILABILITY_REQUEST_VOLUMN_THRESHOLD );
356+ private int circuitBreakSleepWindowInSeconds = getInt (TiKV_CIRCUIT_BREAK_SLEEP_WINDOW_IN_SECONDS );
357+ private int circuitBreakAttemptRequestCount = getInt (TiKV_CIRCUIT_BREAK_ATTEMPT_REQUEST_COUNT );
358+
331359 public enum KVMode {
332360 TXN ,
333361 RAW
@@ -729,4 +757,57 @@ public int getRawKVScanSlowLogInMS() {
729757 public void setRawKVScanSlowLogInMS (int rawKVScanSlowLogInMS ) {
730758 this .rawKVScanSlowLogInMS = rawKVScanSlowLogInMS ;
731759 }
760+
761+ public boolean isCircuitBreakEnable () {
762+ return circuitBreakEnable ;
763+ }
764+
765+ public void setCircuitBreakEnable (boolean circuitBreakEnable ) {
766+ this .circuitBreakEnable = circuitBreakEnable ;
767+ }
768+
769+ public int getCircuitBreakAvailabilityWindowInSeconds () {
770+ return circuitBreakAvailabilityWindowInSeconds ;
771+ }
772+
773+ public void setCircuitBreakAvailabilityWindowInSeconds (
774+ int circuitBreakAvailabilityWindowInSeconds ) {
775+ this .circuitBreakAvailabilityWindowInSeconds = circuitBreakAvailabilityWindowInSeconds ;
776+ }
777+
778+ public int getCircuitBreakAvailabilityErrorThresholdPercentage () {
779+ return circuitBreakAvailabilityErrorThresholdPercentage ;
780+ }
781+
782+ public void setCircuitBreakAvailabilityErrorThresholdPercentage (
783+ int circuitBreakAvailabilityErrorThresholdPercentage ) {
784+ this .circuitBreakAvailabilityErrorThresholdPercentage =
785+ circuitBreakAvailabilityErrorThresholdPercentage ;
786+ }
787+
788+ public int getCircuitBreakAvailabilityRequestVolumnThreshold () {
789+ return circuitBreakAvailabilityRequestVolumnThreshold ;
790+ }
791+
792+ public void setCircuitBreakAvailabilityRequestVolumnThreshold (
793+ int circuitBreakAvailabilityRequestVolumnThreshold ) {
794+ this .circuitBreakAvailabilityRequestVolumnThreshold =
795+ circuitBreakAvailabilityRequestVolumnThreshold ;
796+ }
797+
798+ public int getCircuitBreakSleepWindowInSeconds () {
799+ return circuitBreakSleepWindowInSeconds ;
800+ }
801+
802+ public void setCircuitBreakSleepWindowInSeconds (int circuitBreakSleepWindowInSeconds ) {
803+ this .circuitBreakSleepWindowInSeconds = circuitBreakSleepWindowInSeconds ;
804+ }
805+
806+ public int getCircuitBreakAttemptRequestCount () {
807+ return circuitBreakAttemptRequestCount ;
808+ }
809+
810+ public void setCircuitBreakAttemptRequestCount (int circuitBreakAttemptRequestCount ) {
811+ this .circuitBreakAttemptRequestCount = circuitBreakAttemptRequestCount ;
812+ }
732813}
0 commit comments