MEID table corruption due to index mismatch 38/7038/1 dawn
authorwahidw <abdulwahid.w@nokia.com>
Fri, 12 Nov 2021 03:45:14 +0000 (03:45 +0000)
committerwahidw <abdulwahid.w@nokia.com>
Fri, 12 Nov 2021 03:45:14 +0000 (03:45 +0000)
Signed-off-by: wahidw <abdulwahid.w@nokia.com>
Change-Id: I60aead19dbb164e75f2e0b959aed371fc339d9aa

pkg/nbi/httprestful.go
pkg/rpe/rmr.go

index ab62a13..b8bee32 100644 (file)
@@ -316,6 +316,7 @@ func CreateNewE2tHandleHandlerImpl(data *models.E2tData) error {
        time.Sleep(10 * time.Second)
        for ep, value := range rtmgr.RMRConnStatus {
                if ep == *data.E2TAddress && value == true {
+                       rtmgr.RMRConnStatus[ep] = false
                        return nil
                }
        }
index 8279e17..5447693 100644 (file)
@@ -113,14 +113,16 @@ func (r *Rmr) generateRMRPolicies(eps rtmgr.Endpoints, rcs *rtmgr.RicComponents,
                        mapindex := "mme_del|" + MEID + "\n"
                        i := keys[mapindex].index
                        if keys[mapindex].flag {
-                               copy(rawrt[i:], rawrt[i+1:])
-                               rawrt[len(rawrt)-1] = ""
-                               rawrt = rawrt[:len(rawrt)-1]
+                               //copy(rawrt[i:], rawrt[i+1:])
+                               //rawrt[len(rawrt)-1] = ""
+                               //rawrt = rawrt[:len(rawrt)-1]
+                               rawrt[i] = ""
                                delete(keys, mapindex)
                                count--
                        }
                }
        }
+       rawrt = removeEmptyStrings(rawrt)
        rawrt = append(rawrt, key+"meid_map|end|"+strconv.Itoa(count)+"\n")
 
        xapp.Logger.Debug("rmr.GeneratePolicies returns: %v", rawrt)
@@ -182,6 +184,16 @@ func (r *RmrPush) GenerateRouteTable(eps rtmgr.Endpoints) *rtmgr.RouteTable {
 }
 
 func (r *RmrPush) GeneratePartialPolicies(eps rtmgr.Endpoints, xappSubData *models.XappSubscriptionData, updatetype rtmgr.RMRUpdateType) *[]string {
-       xapp.Logger.Debug("Invoked rmr.GeneratePartialRMR, args: %v: ", eps)
+       xapp.Logger.Debug("Invoked rmr.GeneratePartialPolicies, args: %v: ", eps)
        return r.generatePartialRMRPolicies(eps, xappSubData, "", updatetype)
 }
+
+func removeEmptyStrings(s []string) []string {
+       var r []string
+       for _, str := range s {
+               if str != "" {
+                       r = append(r, str)
+               }
+       }
+       return r
+}