This is an automated email from the ASF dual-hosted git repository.
littlecui pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-service-center.git
The following commit(s) were added to refs/heads/master by this push:
new cce8cb2 fix heartbeat trigger update event problem (#946)
cce8cb2 is described below
commit cce8cb24d3f379684bf9679b862e476ac58be6d8
Author: panqian <[email protected]>
AuthorDate: Wed Apr 14 16:05:26 2021 +0800
fix heartbeat trigger update event problem (#946)
---
datasource/mongo/sd/listwatch_inner.go | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/datasource/mongo/sd/listwatch_inner.go
b/datasource/mongo/sd/listwatch_inner.go
index 9ae8f4f..da4612e 100644
--- a/datasource/mongo/sd/listwatch_inner.go
+++ b/datasource/mongo/sd/listwatch_inner.go
@@ -71,8 +71,13 @@ func (lw *mongoListWatch) DoWatch(ctx context.Context, f
func(*sdcommon.ListWatc
if resumeToken != nil {
csOptions.SetResumeAfter(resumeToken)
}
-
- resp, err := client.GetMongoClient().Watch(ctx, lw.Key, md.Pipeline{},
csOptions)
+ pipline := md.Pipeline{}
+ if lw.Key == instance {
+ // ignore instance refresh_time change event for avoid
meaningless instance push.
+ match :=
bson.D{{"updateDescription.updatedFields.refresh_time", bson.D{{"$exists",
false}}}}
+ pipline = md.Pipeline{{{"$match", match}}}
+ }
+ resp, err := client.GetMongoClient().Watch(ctx, lw.Key, pipline,
csOptions)
if err != nil {
log.Error(fmt.Sprintf("watch table %s failed", lw.Key), err)