Fix: disable the cache when listing the definitions

Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
This commit is contained in:
barnettZQG
2022-06-10 13:01:07 +08:00
parent 855716d989
commit f25882974d
4 changed files with 4 additions and 16 deletions
@@ -40,7 +40,6 @@ import (
"github.com/oam-dev/kubevela/pkg/apiserver/domain/repository"
"github.com/oam-dev/kubevela/pkg/apiserver/infrastructure/datastore"
v1 "github.com/oam-dev/kubevela/pkg/apiserver/interfaces/api/dto/v1"
"github.com/oam-dev/kubevela/pkg/apiserver/utils"
"github.com/oam-dev/kubevela/pkg/apiserver/utils/bcode"
"github.com/oam-dev/kubevela/pkg/oam"
"github.com/oam-dev/kubevela/pkg/oam/util"
@@ -78,7 +77,7 @@ var _ = Describe("Test application service function", func() {
projectService = &projectServiceImpl{Store: ds, K8sClient: k8sClient, RbacService: rbacService}
envService = &envServiceImpl{Store: ds, KubeClient: k8sClient, ProjectService: projectService}
workflowService = &workflowServiceImpl{Store: ds, EnvService: envService}
definitionService = &definitionServiceImpl{KubeClient: k8sClient, caches: utils.NewMemoryCacheStore(context.Background())}
definitionService = &definitionServiceImpl{KubeClient: k8sClient}
envBindingService = &envBindingServiceImpl{Store: ds, EnvService: envService, WorkflowService: workflowService, KubeClient: k8sClient, DefinitionService: definitionService}
targetService = &targetServiceImpl{Store: ds, K8sClient: k8sClient}
appService = &applicationServiceImpl{
+1 -9
View File
@@ -21,7 +21,6 @@ import (
"encoding/json"
"fmt"
"sort"
"time"
"github.com/getkin/kin-openapi/openapi3"
"github.com/pkg/errors"
@@ -55,7 +54,6 @@ type DefinitionService interface {
type definitionServiceImpl struct {
KubeClient client.Client `inject:"kubeClient"`
caches *utils.MemoryCacheStore
}
// DefinitionQueryOption define a set of query options
@@ -80,7 +78,7 @@ const (
// NewDefinitionService new definition service
func NewDefinitionService() DefinitionService {
return &definitionServiceImpl{caches: utils.NewMemoryCacheStore(context.Background())}
return &definitionServiceImpl{}
}
func (d *definitionServiceImpl) ListDefinitions(ctx context.Context, ops DefinitionQueryOption) ([]*apisv1.DefinitionBase, error) {
@@ -95,9 +93,6 @@ func (d *definitionServiceImpl) ListDefinitions(ctx context.Context, ops Definit
}
func (d *definitionServiceImpl) listDefinitions(ctx context.Context, list *unstructured.UnstructuredList, kind string, ops DefinitionQueryOption) ([]*apisv1.DefinitionBase, error) {
if mc := d.caches.Get(ops.String()); mc != nil {
return mc.([]*apisv1.DefinitionBase), nil
}
matchLabels := metav1.LabelSelector{
MatchExpressions: []metav1.LabelSelectorRequirement{
{
@@ -146,9 +141,6 @@ func (d *definitionServiceImpl) listDefinitions(ctx context.Context, list *unstr
}
defs = append(defs, definition)
}
if ops.AppliedWorkloads == "" {
d.caches.Put(ops.String(), defs, time.Minute*3)
}
return defs, nil
}
@@ -44,7 +44,7 @@ var _ = Describe("Test namespace service functions", func() {
)
BeforeEach(func() {
definitionService = &definitionServiceImpl{KubeClient: k8sClient, caches: utils.NewMemoryCacheStore(context.TODO())}
definitionService = &definitionServiceImpl{KubeClient: k8sClient}
err := k8sClient.Create(context.Background(), &corev1.Namespace{
ObjectMeta: metav1.ObjectMeta{
Name: "vela-system",
@@ -215,7 +215,6 @@ var _ = Describe("Test namespace service functions", func() {
It("Test update ui schema", func() {
du := &definitionServiceImpl{
KubeClient: k8sClient,
caches: utils.NewMemoryCacheStore(context.Background()),
}
cdata, err := ioutil.ReadFile("./testdata/workflowstep-apply-object.yaml")
Expect(err).Should(Succeed())
@@ -235,7 +234,6 @@ var _ = Describe("Test namespace service functions", func() {
It("Test update status of the definition", func() {
du := &definitionServiceImpl{
KubeClient: k8sClient,
caches: utils.NewMemoryCacheStore(context.Background()),
}
detail, err := du.UpdateDefinitionStatus(context.TODO(), "apply-object", v1.UpdateDefinitionStatusRequest{
DefinitionType: "workflowstep",
@@ -27,7 +27,6 @@ import (
"github.com/oam-dev/kubevela/pkg/apiserver/domain/repository"
"github.com/oam-dev/kubevela/pkg/apiserver/infrastructure/datastore"
apisv1 "github.com/oam-dev/kubevela/pkg/apiserver/interfaces/api/dto/v1"
"github.com/oam-dev/kubevela/pkg/apiserver/utils"
)
var _ = Describe("Test envBindingService functions", func() {
@@ -54,7 +53,7 @@ var _ = Describe("Test envBindingService functions", func() {
projectService := &projectServiceImpl{Store: ds, K8sClient: k8sClient, RbacService: rbacService}
envService = &envServiceImpl{Store: ds, KubeClient: k8sClient, ProjectService: projectService}
workflowService = &workflowServiceImpl{Store: ds, KubeClient: k8sClient, EnvService: envService}
definitionService = &definitionServiceImpl{KubeClient: k8sClient, caches: utils.NewMemoryCacheStore(context.TODO())}
definitionService = &definitionServiceImpl{KubeClient: k8sClient}
envBindingService = &envBindingServiceImpl{Store: ds, WorkflowService: workflowService, DefinitionService: definitionService, KubeClient: k8sClient, EnvService: envService}
envBindingDemo1 = apisv1.EnvBinding{
Name: "envbinding-dev",