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 <[email protected]>
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{

Reply via email to