You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2018/03/31 08:22:29 UTC
[incubator-servicecomb-service-center] branch master updated:
SCB-448 The wrong log print in update instance (#320)
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/incubator-servicecomb-service-center.git
The following commit(s) were added to refs/heads/master by this push:
new 9a95fec SCB-448 The wrong log print in update instance (#320)
9a95fec is described below
commit 9a95fec2a48c8997e794d8a77deaff502578c142
Author: little-cui <su...@qq.com>
AuthorDate: Sat Mar 31 16:22:27 2018 +0800
SCB-448 The wrong log print in update instance (#320)
---
server/service/instances.go | 57 ++++++++++++++++++++-------------------------
1 file changed, 25 insertions(+), 32 deletions(-)
diff --git a/server/service/instances.go b/server/service/instances.go
index 7e966d6..1a582c8 100644
--- a/server/service/instances.go
+++ b/server/service/instances.go
@@ -669,22 +669,20 @@ func (s *InstanceService) UpdateStatus(ctx context.Context, in *pb.UpdateInstanc
instance.Status = in.Status
- err, isInnerErr := updateInstance(ctx, domainProject, instance)
- if err != nil {
- util.Logger().Errorf(err, "update instance status failed, %s: update instance lease failed.", updateStatusFlag)
- if isInnerErr {
- return &pb.UpdateInstanceStatusResponse{
- Response: pb.CreateResponse(scerr.ErrInternal, "Update instance status failed."),
- }, err
+ if err := updateInstance(ctx, domainProject, instance); err != nil {
+ util.Logger().Errorf(err, "update instance status failed, %s", updateStatusFlag)
+ resp := &pb.UpdateInstanceStatusResponse{
+ Response: pb.CreateResponseWithSCErr(err),
}
- return &pb.UpdateInstanceStatusResponse{
- Response: pb.CreateResponse(scerr.ErrInstanceNotExists, "Update instance status failed."),
- }, nil
+ if err.InternalError() {
+ return resp, err
+ }
+ return resp, nil
}
util.Logger().Infof("update instance status successful: %s.", updateStatusFlag)
return &pb.UpdateInstanceStatusResponse{
- Response: pb.CreateResponse(pb.Response_SUCCESS, "Update service instance information successfully."),
+ Response: pb.CreateResponse(pb.Response_SUCCESS, "Update service instance status successfully."),
}, nil
}
@@ -696,13 +694,10 @@ func (s *InstanceService) UpdateInstanceProperties(ctx context.Context, in *pb.U
}, nil
}
- var err error
domainProject := util.ParseDomainProject(ctx)
instanceFlag := util.StringJoin([]string{in.ServiceId, in.InstanceId}, "/")
- var instance *pb.MicroServiceInstance
-
- instance, err = serviceUtil.GetInstance(ctx, domainProject, in.ServiceId, in.InstanceId)
+ instance, err := serviceUtil.GetInstance(ctx, domainProject, in.ServiceId, in.InstanceId)
if err != nil {
util.Logger().Errorf(err, "update instance properties failed, %s: get instance from etcd failed.", instanceFlag)
return &pb.UpdateInstancePropsResponse{
@@ -721,38 +716,36 @@ func (s *InstanceService) UpdateInstanceProperties(ctx context.Context, in *pb.U
instance.Properties[property] = in.Properties[property]
}
- err, isInnerErr := updateInstance(ctx, domainProject, instance)
- if err != nil {
- util.Logger().Errorf(err, "update instance properties failed, %s: update instance lease failed.", instanceFlag)
- if isInnerErr {
- return &pb.UpdateInstancePropsResponse{
- Response: pb.CreateResponse(scerr.ErrInternal, "Update instance lease failed."),
- }, err
+ if err := updateInstance(ctx, domainProject, instance); err != nil {
+ util.Logger().Errorf(err, "update instance properties failed, %s", instanceFlag)
+ resp := &pb.UpdateInstancePropsResponse{
+ Response: pb.CreateResponseWithSCErr(err),
}
- return &pb.UpdateInstancePropsResponse{
- Response: pb.CreateResponse(scerr.ErrInstanceNotExists, "Update instance lease failed."),
- }, nil
+ if err.InternalError() {
+ return resp, err
+ }
+ return resp, nil
}
util.Logger().Infof("update instance properties successful: %s.", instanceFlag)
return &pb.UpdateInstancePropsResponse{
- Response: pb.CreateResponse(pb.Response_SUCCESS, "Update service instance information successfully."),
+ Response: pb.CreateResponse(pb.Response_SUCCESS, "Update service instance properties successfully."),
}, nil
}
-func updateInstance(ctx context.Context, domainProject string, instance *pb.MicroServiceInstance) (err error, isInnerErr bool) {
+func updateInstance(ctx context.Context, domainProject string, instance *pb.MicroServiceInstance) *scerr.Error {
leaseID, err := serviceUtil.GetLeaseId(ctx, domainProject, instance.ServiceId, instance.InstanceId)
if err != nil {
- return err, true
+ return scerr.NewError(scerr.ErrInternal, err.Error())
}
if leaseID == -1 {
- return errors.New("Instance's leaseId not exist."), false
+ return scerr.NewError(scerr.ErrInstanceNotExists, "Instance's leaseId not exist.")
}
instance.ModTimestamp = strconv.FormatInt(time.Now().Unix(), 10)
data, err := json.Marshal(instance)
if err != nil {
- return err, true
+ return scerr.NewError(scerr.ErrInternal, err.Error())
}
key := apt.GenerateInstanceKey(domainProject, instance.ServiceId, instance.InstanceId)
@@ -762,9 +755,9 @@ func updateInstance(ctx context.Context, domainProject string, instance *pb.Micr
registry.WithValue(data),
registry.WithLease(leaseID))
if err != nil {
- return err, true
+ return scerr.NewError(scerr.ErrInternal, err.Error())
}
- return nil, false
+ return nil
}
func (s *InstanceService) WatchPreOpera(ctx context.Context, in *pb.WatchInstanceRequest) error {
--
To stop receiving notification emails like this one, please contact
littlecui@apache.org.