dds fix
diff --git a/pkg/dubbo/pusher/pusher.go b/pkg/dubbo/pusher/pusher.go
index 9604dc2..e06b880 100644
--- a/pkg/dubbo/pusher/pusher.go
+++ b/pkg/dubbo/pusher/pusher.go
@@ -19,6 +19,7 @@
 
 import (
 	"context"
+	"github.com/apache/dubbo-kubernetes/pkg/core/resources/registry"
 	"reflect"
 	"time"
 )
@@ -75,6 +76,7 @@
 		newFullResyncTicker:           newFullResyncTicker,
 		resourceTypes:                 make(map[core_model.ResourceType]struct{}),
 		resourceRevisions:             make(map[core_model.ResourceType]revision),
+		resourceLastPushed:            make(map[core_model.ResourceType]core_model.ResourceList),
 		resourceChangedEventListeners: make(map[core_model.ResourceType]events.Listener),
 		eventsChannel:                 make(chan *changedEvent, eventsChannelSize),
 		requestChannel: make(chan struct {
@@ -156,8 +158,12 @@
 			return nil
 		case ce := <-p.eventsChannel:
 			log.Info("event received", "ResourceType", ce.resourceType)
-			var resourceList core_model.ResourceList
-			err := p.resourceManager.List(ctx, resourceList)
+			resourceList, err := registry.Global().NewList(ce.resourceType)
+			if err != nil {
+				log.Error(err, "failed to get resourceList")
+				continue
+			}
+			err = p.resourceManager.List(ctx, resourceList)
 			if err != nil {
 				log.Error(err, "list resource failed", "ResourceType", ce.resourceType)
 				continue
diff --git a/pkg/plugins/runtime/k8s/controllers/metadata_controller.go b/pkg/plugins/runtime/k8s/controllers/metadata_controller.go
deleted file mode 100644
index a6771c7..0000000
--- a/pkg/plugins/runtime/k8s/controllers/metadata_controller.go
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package controllers
-
-import (
-	"context"
-	k8s_common "github.com/apache/dubbo-kubernetes/pkg/plugins/common/k8s"
-	"github.com/apache/dubbo-kubernetes/pkg/plugins/resources/k8s/native/api/v1alpha1"
-	"github.com/go-logr/logr"
-	kube_runtime "k8s.io/apimachinery/pkg/runtime"
-	kube_record "k8s.io/client-go/tools/record"
-	kube_ctrl "sigs.k8s.io/controller-runtime"
-	kube_client "sigs.k8s.io/controller-runtime/pkg/client"
-	"sigs.k8s.io/controller-runtime/pkg/controller"
-)
-
-type MedataReconciler struct {
-	kube_client.Client
-	kube_record.EventRecorder
-	Schema            *kube_runtime.Scheme
-	Log               logr.Logger
-	ResourceConverter k8s_common.Converter
-	SystemNamespace   string
-}
-
-func (m *MedataReconciler) Reconcile(ctx context.Context, req kube_ctrl.Request) (kube_ctrl.Result, error) {
-	return kube_ctrl.Result{}, nil
-}
-
-func (m *MedataReconciler) SetupWithManager(mgr kube_ctrl.Manager, maxConcurrentReconciles int) error {
-	return kube_ctrl.NewControllerManagedBy(mgr).
-		WithOptions(controller.Options{MaxConcurrentReconciles: maxConcurrentReconciles}).
-		For(&v1alpha1.MetaData{}).
-		Complete(m)
-}
diff --git a/pkg/plugins/runtime/k8s/plugin.go b/pkg/plugins/runtime/k8s/plugin.go
index 19214a0..095d7d8 100644
--- a/pkg/plugins/runtime/k8s/plugin.go
+++ b/pkg/plugins/runtime/k8s/plugin.go
@@ -85,24 +85,9 @@
 	if err := addPodReconciler(mgr, rt, converter); err != nil {
 		return err
 	}
-	if err := addMetadataReconciler(mgr, rt, converter); err != nil {
-		return err
-	}
 	return nil
 }
 
-func addMetadataReconciler(mgr kube_ctrl.Manager, rt core_runtime.Runtime, converter k8s_common.Converter) error {
-	reconciler := &k8s_controllers.MedataReconciler{
-		Client:            mgr.GetClient(),
-		EventRecorder:     mgr.GetEventRecorderFor("k8s.dubbo.io/dataplane-generator"),
-		Schema:            mgr.GetScheme(),
-		Log:               core.Log.WithName("controllers").WithName("Metadata"),
-		ResourceConverter: converter,
-		SystemNamespace:   rt.Config().Store.Kubernetes.SystemNamespace,
-	}
-	return reconciler.SetupWithManager(mgr, rt.Config().Runtime.Kubernetes.ControllersConcurrency.PodController)
-}
-
 func addPodReconciler(mgr kube_ctrl.Manager, rt core_runtime.Runtime, converter k8s_common.Converter) error {
 	reconciler := &k8s_controllers.PodReconciler{
 		Client:        mgr.GetClient(),