fix: health check problem (#4590)

This commit is contained in:
Kevin Wan
2025-01-22 19:32:28 +08:00
committed by GitHub
parent 030c859171
commit 1023800b02
6 changed files with 24 additions and 19 deletions

View File

@@ -111,6 +111,10 @@ func (p *comboHealthManager) IsReady() bool {
p.mu.Lock()
defer p.mu.Unlock()
if len(p.probes) == 0 {
return false
}
for _, probe := range p.probes {
if !probe.IsReady() {
return false

View File

@@ -43,7 +43,7 @@ func TestComboHealthManager(t *testing.T) {
hm1 := NewHealthManager(probeName)
hm2 := NewHealthManager(probeName + "2")
assert.True(t, chm.IsReady())
assert.False(t, chm.IsReady())
chm.addProbe(hm1)
chm.addProbe(hm2)
assert.False(t, chm.IsReady())
@@ -57,7 +57,7 @@ func TestComboHealthManager(t *testing.T) {
chm := newComboHealthManager()
hm := NewHealthManager(probeName)
assert.True(t, chm.IsReady())
assert.False(t, chm.IsReady())
chm.addProbe(hm)
assert.False(t, chm.IsReady())
hm.MarkReady()
@@ -127,7 +127,7 @@ func TestCreateHttpHandler(t *testing.T) {
resp, err := http.Get(srv.URL)
assert.Nil(t, err)
_ = resp.Body.Close()
assert.Equal(t, http.StatusOK, resp.StatusCode)
assert.Equal(t, http.StatusServiceUnavailable, resp.StatusCode)
hm := NewHealthManager(probeName)
defaultHealthManager.addProbe(hm)