@@ -85,6 +85,7 @@ type Config struct {
85
85
WorkerBuildIdSizeLimit dynamicconfig.IntPropertyFn
86
86
DisallowQuery dynamicconfig.BoolPropertyFnWithNamespaceFilter
87
87
ShutdownDrainDuration dynamicconfig.DurationPropertyFn
88
+ ShutdownFailHealthcheckDuration dynamicconfig.DurationPropertyFn
88
89
89
90
MaxBadBinaries dynamicconfig.IntPropertyFnWithNamespaceFilter
90
91
@@ -207,6 +208,7 @@ func NewConfig(dc *dynamicconfig.Collection, numHistoryShards int32, enableReadF
207
208
BlobSizeLimitWarn : dc .GetIntPropertyFilteredByNamespace (dynamicconfig .BlobSizeLimitWarn , 256 * 1024 ),
208
209
ThrottledLogRPS : dc .GetIntProperty (dynamicconfig .FrontendThrottledLogRPS , 20 ),
209
210
ShutdownDrainDuration : dc .GetDurationProperty (dynamicconfig .FrontendShutdownDrainDuration , 0 * time .Second ),
211
+ ShutdownFailHealthcheckDuration : dc .GetDurationProperty (dynamicconfig .FrontendShutdownFailHealthcheckDuration , 10 * time .Second ),
210
212
EnableNamespaceNotActiveAutoForwarding : dc .GetBoolPropertyFnWithNamespaceFilter (dynamicconfig .EnableNamespaceNotActiveAutoForwarding , true ),
211
213
SearchAttributesNumberOfKeysLimit : dc .GetIntPropertyFilteredByNamespace (dynamicconfig .SearchAttributesNumberOfKeysLimit , 100 ),
212
214
SearchAttributesSizeOfValueLimit : dc .GetIntPropertyFilteredByNamespace (dynamicconfig .SearchAttributesSizeOfValueLimit , 2 * 1024 ),
@@ -336,11 +338,11 @@ func (s *Service) Stop() {
336
338
// 1. Fail rpc health check, this will cause client side load balancer to stop forwarding requests to this node
337
339
// 2. wait for failure detection time
338
340
// 3. stop taking new requests by returning InternalServiceError
339
- // 4. Wait for a second
341
+ // 4. Wait for X second
340
342
// 5. Stop everything forcefully and return
341
343
342
- requestDrainTime := util .Min (time .Second , s .config .ShutdownDrainDuration ())
343
- failureDetectionTime := util .Max (0 , s .config .ShutdownDrainDuration () - requestDrainTime )
344
+ requestDrainTime := util .Max (time .Second , s .config .ShutdownDrainDuration ())
345
+ failureDetectionTime := util .Max (0 , s .config .ShutdownFailHealthcheckDuration () )
344
346
345
347
logger .Info ("ShutdownHandler: Updating gRPC health status to ShuttingDown" )
346
348
s .healthServer .Shutdown ()
0 commit comments