VOL-3419: OpenOLT adapter at scale constantly takes more that 10 seconds to react to flows
- Pass information to agent to do the flow replication
- Consolidate various locks in the adapter and remove reduntant locks
- use voltha-proto version 4.0.2 and voltha-lib-go version 4.0.0
- Bump adapter version to 3.0.0
Change-Id: Ic053c54e5319bb1736ec74facfc79dd10058ecf5
diff --git a/internal/pkg/core/openolt_groupmgr.go b/internal/pkg/core/openolt_groupmgr.go
index d14d24b..a87073b 100644
--- a/internal/pkg/core/openolt_groupmgr.go
+++ b/internal/pkg/core/openolt_groupmgr.go
@@ -16,12 +16,12 @@
import (
"context"
- "github.com/opencord/voltha-lib-go/v3/pkg/flows"
- "github.com/opencord/voltha-lib-go/v3/pkg/log"
+ "github.com/opencord/voltha-lib-go/v4/pkg/flows"
+ "github.com/opencord/voltha-lib-go/v4/pkg/log"
"github.com/opencord/voltha-openolt-adapter/internal/pkg/olterrors"
rsrcMgr "github.com/opencord/voltha-openolt-adapter/internal/pkg/resourcemanager"
- ofp "github.com/opencord/voltha-protos/v3/go/openflow_13"
- openoltpb2 "github.com/opencord/voltha-protos/v3/go/openolt"
+ ofp "github.com/opencord/voltha-protos/v4/go/openflow_13"
+ openoltpb2 "github.com/opencord/voltha-protos/v4/go/openolt"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
"sync"
@@ -75,7 +75,7 @@
}
// group members not created yet. So let's store the group
if err := g.resourceMgr.AddFlowGroupToKVStore(ctx, group, true); err != nil {
- return olterrors.NewErrPersistence("add", "flow-group", group.Desc.GroupId, log.Fields{"group": group}, err)
+ return olterrors.NewErrPersistence("add", "flow-group", uint64(group.Desc.GroupId), log.Fields{"group": group}, err)
}
logger.Infow(ctx, "add-group-operation-performed-on-the-device-successfully ", log.Fields{"groupToOlt": groupToOlt})
return nil
@@ -99,7 +99,7 @@
}
//remove group from the store
if err := g.resourceMgr.RemoveFlowGroupFromKVStore(ctx, group.Desc.GroupId, false); err != nil {
- return olterrors.NewErrPersistence("delete", "flow-group", group.Desc.GroupId, log.Fields{"group": group}, err)
+ return olterrors.NewErrPersistence("delete", "flow-group", uint64(group.Desc.GroupId), log.Fields{"group": group}, err)
}
logger.Debugw(ctx, "delete-group-operation-performed-on-the-device-successfully ", log.Fields{"groupToOlt": groupToOlt})
return nil
@@ -159,7 +159,7 @@
//save the modified group
if errAdd == nil && errRemoved == nil {
if err := g.resourceMgr.AddFlowGroupToKVStore(ctx, group, false); err != nil {
- return olterrors.NewErrPersistence("add", "flow-group", group.Desc.GroupId, log.Fields{"group": group}, err)
+ return olterrors.NewErrPersistence("add", "flow-group", uint64(group.Desc.GroupId), log.Fields{"group": group}, err)
}
logger.Infow(ctx, "modify-group-was-success--storing-group",
log.Fields{