diff --git a/docs/generated/settings/settings.html b/docs/generated/settings/settings.html index 54883440a9fd..fe736143bdb3 100644 --- a/docs/generated/settings/settings.html +++ b/docs/generated/settings/settings.html @@ -46,7 +46,7 @@ kv.range_split.by_load_enabledbooleantrueallow automatic splits of ranges based on where load is concentrated kv.range_split.load_qps_thresholdinteger2500the QPS over which, the range becomes a candidate for load based splitting kv.rangefeed.enabledbooleanfalseif set, rangefeed registration is enabled -kv.replica_circuit_breaker.slow_replication_thresholdduration0sduration after which slow proposals trip the per-Replica circuit breaker (zero duration disables breakers) +kv.replica_circuit_breaker.slow_replication_thresholdduration1m0sduration after which slow proposals trip the per-Replica circuit breaker (zero duration disables breakers) kv.replica_stats.addsst_request_size_factorinteger50000the divisor that is applied to addsstable request sizes, then recorded in a leaseholders QPS; 0 means all requests are treated as cost 1 kv.replication_reports.intervalduration1m0sthe frequency for generating the replication_constraint_stats, replication_stats_report and replication_critical_localities reports (set to 0 to disable) kv.snapshot_rebalance.max_ratebyte size32 MiBthe rate limit (bytes/sec) to use for rebalance and upreplication snapshots diff --git a/pkg/kv/kvserver/replica_circuit_breaker.go b/pkg/kv/kvserver/replica_circuit_breaker.go index 300f1db2fd62..8f68bd323a24 100644 --- a/pkg/kv/kvserver/replica_circuit_breaker.go +++ b/pkg/kv/kvserver/replica_circuit_breaker.go @@ -15,6 +15,7 @@ import ( "sync/atomic" "time" + "github.com/cockroachdb/cockroach/pkg/base" "github.com/cockroachdb/cockroach/pkg/clusterversion" "github.com/cockroachdb/cockroach/pkg/kv/kvserver/liveness" "github.com/cockroachdb/cockroach/pkg/roachpb" @@ -42,7 +43,13 @@ type replicaInCircuitBreaker interface { } var defaultReplicaCircuitBreakerSlowReplicationThreshold = envutil.EnvOrDefaultDuration( - "COCKROACH_REPLICA_CIRCUIT_BREAKER_SLOW_REPLICATION_THRESHOLD", 0, + "COCKROACH_REPLICA_CIRCUIT_BREAKER_SLOW_REPLICATION_THRESHOLD", + // SlowRequestThreshold is used in various places to log warnings on slow + // request phases. We are even more conservative about the circuit breakers, + // i.e. multiply by a factor. This is mainly defense in depth; at time of + // writing the slow request threshold is 15s which *should* also be good + // enough for circuit breakers since it's already fairly conservative. + 4*base.SlowRequestThreshold, ) var replicaCircuitBreakerSlowReplicationThreshold = settings.RegisterPublicDurationSettingWithExplicitUnit(