From 195e1462310fd701fcfbb4ee037f47da4492e3e9 Mon Sep 17 00:00:00 2001 From: Yan Mo Date: Fri, 2 Sep 2022 08:17:34 -0700 Subject: [PATCH] Fixed the delete hang issue #97, and repeat return issue #98 --- .../activities/vnet_delete_activity.go | 1 + services/merak-network/grpc/service/service.go | 17 ++++++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/services/merak-network/activities/vnet_delete_activity.go b/services/merak-network/activities/vnet_delete_activity.go index fddcbb89..c27f0411 100644 --- a/services/merak-network/activities/vnet_delete_activity.go +++ b/services/merak-network/activities/vnet_delete_activity.go @@ -132,6 +132,7 @@ func deleteNode(netConfigId string) (err error) { return returnErr } } + database.Del(utils.NODEGROUP + netConfigId) log.Println("deleteNode done") return nil } diff --git a/services/merak-network/grpc/service/service.go b/services/merak-network/grpc/service/service.go index e63a4b2f..194fdf54 100644 --- a/services/merak-network/grpc/service/service.go +++ b/services/merak-network/grpc/service/service.go @@ -75,6 +75,9 @@ func (s *Server) NetConfigHandler(ctx context.Context, in *pb.InternalNetConfigI }() returnNetworkMessage := <-networkInfoReturn + for len(networkInfoReturn) > 0 { + <-networkInfoReturn + } wg.Wait() log.Printf("returnNetworkMessage %s", returnNetworkMessage) if ifAnyFailure { @@ -142,11 +145,14 @@ func (s *Server) NetConfigHandler(ctx context.Context, in *pb.InternalNetConfigI returnNetworkMessage.ReturnCode = common_pb.ReturnCode_OK returnNetworkMessage.ReturnMessage = "NetworkHandler: OperationType_CREATE" returnNetworkMessage := <-networkReturn + for len(networkReturn) > 0 { + <-networkReturn + } wg.Wait() if ifAnyFailure { return nil, currentError } - log.Printf("returnNetworkMessage %s", returnNetworkMessage) + log.Printf("networkCreateReturn returnNetworkMessage %s", returnNetworkMessage) return returnNetworkMessage, nil case common_pb.OperationType_UPDATE: log.Println("Update") @@ -165,16 +171,21 @@ func (s *Server) NetConfigHandler(ctx context.Context, in *pb.InternalNetConfigI currentError = err } networkDeleteReturn <- vnetDeleteReturn - log.Printf("networkInfoReturn: %s", vnetDeleteReturn) + log.Printf("networkDeleteReturn: %s", vnetDeleteReturn) }() wg.Wait() returnNetworkMessage.ReturnCode = common_pb.ReturnCode_OK returnNetworkMessage.ReturnMessage = "NetworkHandler: OperationType_DELETE" returnNetworkMessage := <-networkDeleteReturn + for len(networkDeleteReturn) > 0 { + <-networkDeleteReturn + } + wg.Wait() + log.Printf("============== After networkDeleteReturn") if ifAnyFailure { return nil, currentError } - log.Printf("returnNetworkMessage %s", returnNetworkMessage) + log.Printf("networkDeleteReturn returnNetworkMessage %s", returnNetworkMessage) return returnNetworkMessage, nil default: log.Println("Unknown Operation")