Skip to content

Commit

Permalink
Fixed the delete hang issue futurewei-cloud#97, and repeat return issue
Browse files Browse the repository at this point in the history
  • Loading branch information
yanmo96 committed Sep 2, 2022
1 parent 1b5342b commit 195e146
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 3 deletions.
1 change: 1 addition & 0 deletions services/merak-network/activities/vnet_delete_activity.go
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ func deleteNode(netConfigId string) (err error) {
return returnErr
}
}
database.Del(utils.NODEGROUP + netConfigId)
log.Println("deleteNode done")
return nil
}
Expand Down
17 changes: 14 additions & 3 deletions services/merak-network/grpc/service/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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")
Expand All @@ -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")
Expand Down

0 comments on commit 195e146

Please sign in to comment.