You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ti...@apache.org on 2020/12/17 10:33:11 UTC

[servicecomb-service-center] branch master updated: SCB-2094 Fix: nil point exception when start mongo plugin (#785)

This is an automated email from the ASF dual-hosted git repository.

tianxiaoliang 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 b21538b  SCB-2094 Fix: nil point exception when start mongo plugin (#785)
b21538b is described below

commit b21538bacf59a785ca00a946bdf96a1f1e6aac3c
Author: little-cui <su...@qq.com>
AuthorDate: Thu Dec 17 18:33:01 2020 +0800

    SCB-2094 Fix: nil point exception when start mongo plugin (#785)
    
    * SCB-2094 Fix: nil point exception when start mongo plugin
    
    * SCB-2094 Fix: LRU Cache never be GC
---
 datasource/etcd/bootstrap/bootstrap.go | 3 ---
 datasource/etcd/cache/dependency.go    | 4 +---
 datasource/etcd/cache/instance.go      | 5 +----
 datasource/etcd/etcd.go                | 3 +++
 datasource/etcd/event/event.go         | 2 +-
 etc/conf/app.yaml                      | 5 +++--
 server/service/instance_test.go        | 4 ++--
 7 files changed, 11 insertions(+), 15 deletions(-)

diff --git a/datasource/etcd/bootstrap/bootstrap.go b/datasource/etcd/bootstrap/bootstrap.go
index 202467a..709130a 100644
--- a/datasource/etcd/bootstrap/bootstrap.go
+++ b/datasource/etcd/bootstrap/bootstrap.go
@@ -37,7 +37,4 @@ import (
 	_ "github.com/apache/servicecomb-service-center/datasource/etcd/sd/etcd"
 
 	_ "github.com/apache/servicecomb-service-center/datasource/etcd/sd/k8s"
-
-	//events
-	_ "github.com/apache/servicecomb-service-center/datasource/etcd/event"
 )
diff --git a/datasource/etcd/cache/dependency.go b/datasource/etcd/cache/dependency.go
index c0d60d9..d8cef9a 100644
--- a/datasource/etcd/cache/dependency.go
+++ b/datasource/etcd/cache/dependency.go
@@ -19,7 +19,6 @@ package cache
 
 import (
 	"context"
-	"math"
 
 	"github.com/apache/servicecomb-service-center/pkg/cache"
 	"github.com/apache/servicecomb-service-center/pkg/util"
@@ -27,8 +26,7 @@ import (
 )
 
 var DependencyRule = &DependencyRuleCache{
-	Tree: cache.NewTree(cache.Configure().
-		WithMaxSize(math.MaxInt64))}
+	Tree: cache.NewTree(cache.Configure().WithMaxSize(10000))}
 
 func init() {
 	DependencyRule.AddFilter(
diff --git a/datasource/etcd/cache/instance.go b/datasource/etcd/cache/instance.go
index 944ddf5..57b255b 100644
--- a/datasource/etcd/cache/instance.go
+++ b/datasource/etcd/cache/instance.go
@@ -19,7 +19,6 @@ package cache
 
 import (
 	"context"
-	"math"
 	"time"
 
 	"github.com/apache/servicecomb-service-center/pkg/cache"
@@ -28,9 +27,7 @@ import (
 )
 
 var FindInstances = &FindInstancesCache{
-	Tree: cache.NewTree(cache.Configure().
-		WithTTL(2 * time.Minute).
-		WithMaxSize(math.MaxInt64))}
+	Tree: cache.NewTree(cache.Configure().WithTTL(2 * time.Minute).WithMaxSize(10000))}
 
 func init() {
 	FindInstances.AddFilter(
diff --git a/datasource/etcd/etcd.go b/datasource/etcd/etcd.go
index a8d136d..5d16f84 100644
--- a/datasource/etcd/etcd.go
+++ b/datasource/etcd/etcd.go
@@ -24,6 +24,7 @@ import (
 
 	"github.com/apache/servicecomb-service-center/datasource"
 	"github.com/apache/servicecomb-service-center/datasource/etcd/client"
+	"github.com/apache/servicecomb-service-center/datasource/etcd/event"
 	"github.com/apache/servicecomb-service-center/datasource/etcd/job"
 	"github.com/apache/servicecomb-service-center/datasource/etcd/kv"
 	"github.com/apache/servicecomb-service-center/datasource/etcd/mux"
@@ -80,6 +81,8 @@ func (ds *DataSource) initialize() error {
 	ds.initClustersIndex()
 	// init client/sd plugins
 	ds.initPlugins()
+	// Add events handlers
+	event.Initialize()
 	// Wait for kv store ready
 	ds.initKvStore()
 	// Compact
diff --git a/datasource/etcd/event/event.go b/datasource/etcd/event/event.go
index 4656e8b..9b1e6c5 100644
--- a/datasource/etcd/event/event.go
+++ b/datasource/etcd/event/event.go
@@ -21,7 +21,7 @@ import (
 	"github.com/apache/servicecomb-service-center/datasource/etcd/sd"
 )
 
-func init() {
+func Initialize() {
 	sd.AddEventHandler(NewDomainEventHandler())
 	sd.AddEventHandler(NewServiceEventHandler())
 	sd.AddEventHandler(NewInstanceEventHandler())
diff --git a/etc/conf/app.yaml b/etc/conf/app.yaml
index 99731bc..fa4a551 100644
--- a/etc/conf/app.yaml
+++ b/etc/conf/app.yaml
@@ -82,8 +82,9 @@ registry:
       timeout:
     request:
       timeout:
-  mongodb:
-    xxx:
+  mongo:
+    cluster:
+      uri: mongodb://localhost:27017
 
   service:
     # enable the job clear the microservices which deploy no instance
diff --git a/server/service/instance_test.go b/server/service/instance_test.go
index 33d5e8f..4b78096 100644
--- a/server/service/instance_test.go
+++ b/server/service/instance_test.go
@@ -1150,7 +1150,7 @@ var _ = Describe("'Instance' service", func() {
 					VersionRule:       "latest",
 				})
 				Expect(err).To(BeNil())
-				Expect(respFind.Response.GetCode()).ToNot(Equal(pb.ResponseSuccess))
+				Expect(respFind.Response.GetCode()).To(Equal(pb.ErrServiceNotExists))
 
 				By("provider does not contain 3.0.0+ versions")
 				respFind, err = instanceResource.Find(getContext(), &pb.FindInstancesRequest{
@@ -1182,7 +1182,7 @@ var _ = Describe("'Instance' service", func() {
 					VersionRule:       "2.0.0",
 				})
 				Expect(err).To(BeNil())
-				Expect(respFind.Response.GetCode()).ToNot(Equal(pb.ResponseSuccess))
+				Expect(respFind.Response.GetCode()).To(Equal(pb.ErrServiceNotExists))
 
 				By("consumer does not exist")
 				respFind, err = instanceResource.Find(getContext(), &pb.FindInstancesRequest{