mirror of https://github.com/milvus-io/milvus.git
Add error log when tsafe register watcher more than once (#16294)
Add some test case to cover the error case Add log in error branch Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>pull/16295/head
parent
ba37531456
commit
899638810a
|
@ -20,7 +20,9 @@ import (
|
|||
"fmt"
|
||||
"sync"
|
||||
|
||||
"github.com/milvus-io/milvus/internal/log"
|
||||
"github.com/milvus-io/milvus/internal/util/typeutil"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
type tSafeWatcher struct {
|
||||
|
@ -67,6 +69,7 @@ func (ts *tSafe) registerTSafeWatcher(t *tSafeWatcher) error {
|
|||
ts.tSafeMu.Lock()
|
||||
defer ts.tSafeMu.Unlock()
|
||||
if ts.watcher != nil {
|
||||
log.Warn("tSafeWatcher register more than once", zap.String("channel", ts.channel))
|
||||
return fmt.Errorf("tSafeWatcher has been existed, channel = %s", ts.channel)
|
||||
}
|
||||
ts.watcher = t
|
||||
|
|
|
@ -63,3 +63,21 @@ func TestTSafe_TSafe(t *testing.T) {
|
|||
timestamp = safe.get()
|
||||
assert.Equal(t, targetTimestamp, timestamp)
|
||||
}
|
||||
|
||||
func TestTSafe_Dup(t *testing.T) {
|
||||
safe := newTSafe("TestTSafe-channel")
|
||||
assert.NotNil(t, safe)
|
||||
|
||||
timestamp := safe.get()
|
||||
assert.Equal(t, typeutil.ZeroTimestamp, timestamp)
|
||||
|
||||
watcher := newTSafeWatcher()
|
||||
defer watcher.close()
|
||||
assert.NotNil(t, watcher)
|
||||
|
||||
err := safe.registerTSafeWatcher(watcher)
|
||||
assert.NoError(t, err)
|
||||
|
||||
err = safe.registerTSafeWatcher(watcher)
|
||||
assert.Error(t, err)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue