This is an automated email from the ASF dual-hosted git repository.

sunnianjun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 39ad643d14e Rename GovernanceEvent to DispatchEvent and add 
DeliverEvent interface (#31976)
39ad643d14e is described below

commit 39ad643d14e75768222755ed652821dc99112253
Author: Haoran Meng <[email protected]>
AuthorDate: Thu Jul 4 14:05:30 2024 +0800

    Rename GovernanceEvent to DispatchEvent and add DeliverEvent interface 
(#31976)
---
 .../shardingsphere/mode/event/deliver/DeliverEvent.java |  6 +++---
 .../qualified/QualifiedDataSourceDeletedEvent.java      |  3 ++-
 .../mode/event/dispatch/DispatchEvent.java              |  6 +++---
 .../assisted/CreateDatabaseListenerAssistedEvent.java   |  4 ++--
 .../assisted/DropDatabaseListenerAssistedEvent.java     |  4 ++--
 .../config/AlterGlobalRuleConfigurationEvent.java       |  4 ++--
 .../event/dispatch/config/AlterPropertiesEvent.java     |  4 ++--
 .../dispatch/datasource/node/AlterStorageNodeEvent.java |  4 ++--
 .../datasource/node/RegisterStorageNodeEvent.java       |  4 ++--
 .../datasource/node/UnregisterStorageNodeEvent.java     |  4 ++--
 .../dispatch/datasource/unit/AlterStorageUnitEvent.java |  4 ++--
 .../datasource/unit/RegisterStorageUnitEvent.java       |  4 ++--
 .../datasource/unit/UnregisterStorageUnitEvent.java     |  4 ++--
 .../dispatch/metadata/data/DatabaseDataAddedEvent.java  |  4 ++--
 .../metadata/data/DatabaseDataDeletedEvent.java         |  4 ++--
 .../dispatch/metadata/data/SchemaDataAddedEvent.java    |  4 ++--
 .../dispatch/metadata/data/SchemaDataDeletedEvent.java  |  4 ++--
 .../data/ShardingSphereRowDataChangedEvent.java         |  4 ++--
 .../data/ShardingSphereRowDataDeletedEvent.java         |  4 ++--
 .../dispatch/metadata/data/TableDataChangedEvent.java   |  4 ++--
 .../dispatch/metadata/schema/SchemaAddedEvent.java      |  4 ++--
 .../dispatch/metadata/schema/SchemaDeletedEvent.java    |  4 ++--
 .../metadata/schema/table/CreateOrAlterTableEvent.java  |  4 ++--
 .../dispatch/metadata/schema/table/DropTableEvent.java  |  4 ++--
 .../metadata/schema/view/CreateOrAlterViewEvent.java    |  4 ++--
 .../dispatch/metadata/schema/view/DropViewEvent.java    |  4 ++--
 .../mode/event/dispatch/rule/RuleItemChangedEvent.java  |  4 ++--
 .../event/dispatch/state/cluster/ClusterStateEvent.java |  4 ++--
 .../compute/ComputeNodeInstanceStateChangedEvent.java   |  4 ++--
 .../state/compute/KillLocalProcessCompletedEvent.java   |  4 ++--
 .../dispatch/state/compute/KillLocalProcessEvent.java   |  4 ++--
 .../mode/event/dispatch/state/compute/LabelsEvent.java  |  4 ++--
 .../compute/ReportLocalProcessesCompletedEvent.java     |  4 ++--
 .../state/compute/ReportLocalProcessesEvent.java        |  4 ++--
 .../event/dispatch/state/compute/WorkerIdEvent.java     |  4 ++--
 .../state/compute/instance/InstanceOfflineEvent.java    |  4 ++--
 .../state/compute/instance/InstanceOnlineEvent.java     |  4 ++--
 .../state/storage/QualifiedDataSourceStateEvent.java    |  4 ++--
 .../event/builder/RuleConfigurationEventBuilder.java    |  8 ++++----
 .../listener/DataChangedEventListenerRegistry.java      |  2 +-
 .../coordinator/listener/MetaDataChangedListener.java   | 16 ++++++++--------
 .../listener/processor/ListenerAssistedProcessor.java   |  4 ++--
 .../event/builder/ClusterStateDispatchEventBuilder.java |  7 +++----
 .../builder/ComputeNodeOnlineDispatchEventBuilder.java  |  9 ++++-----
 .../builder/ComputeNodeStateDispatchEventBuilder.java   | 15 +++++++--------
 .../cluster/event/builder}/DispatchEventBuilder.java    |  2 +-
 .../event/builder/GlobalRuleDispatchEventBuilder.java   |  7 +++----
 .../builder/ListenerAssistedDispatchEventBuilder.java   |  7 +++----
 .../event/builder/PropertiesDispatchEventBuilder.java   |  1 -
 .../QualifiedDataSourceDispatchEventBuilder.java        |  7 +++----
 .../builder/ShardingSphereDataDispatchEventBuilder.java | 17 ++++++++---------
 .../subscriber/dispatch/CacheEvictedSubscriber.java     |  6 +++---
 ....manager.cluster.event.builder.DispatchEventBuilder} |  0
 .../builder/ClusterStateDispatchEventBuilderTest.java   |  8 ++++----
 .../ComputeNodeOnlineDispatchEventBuilderTest.java      |  6 +++---
 .../ComputeNodeStateDispatchEventBuilderTest.java       | 10 +++++-----
 .../QualifiedDataSourceDispatchEventBuilderTest.java    |  8 ++++----
 .../StandaloneMetaDataManagerPersistService.java        |  8 ++++----
 58 files changed, 148 insertions(+), 155 deletions(-)

diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/rule/event/GovernanceEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/deliver/DeliverEvent.java
similarity index 88%
copy from 
infra/common/src/main/java/org/apache/shardingsphere/infra/rule/event/GovernanceEvent.java
copy to 
mode/api/src/main/java/org/apache/shardingsphere/mode/event/deliver/DeliverEvent.java
index 64a575557ed..be37eb7636b 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/rule/event/GovernanceEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/deliver/DeliverEvent.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.rule.event;
+package org.apache.shardingsphere.mode.event.deliver;
 
 /**
- * Governance event.
+ * Deliver event.
  */
-public interface GovernanceEvent {
+public interface DeliverEvent {
 }
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/deliver/datasource/qualified/QualifiedDataSourceDeletedEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/deliver/datasource/qualified/QualifiedDataSourceDeletedEvent.java
index 1007aec6713..657934cfe61 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/deliver/datasource/qualified/QualifiedDataSourceDeletedEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/deliver/datasource/qualified/QualifiedDataSourceDeletedEvent.java
@@ -20,13 +20,14 @@ package 
org.apache.shardingsphere.mode.event.deliver.datasource.qualified;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.QualifiedDataSource;
+import org.apache.shardingsphere.mode.event.deliver.DeliverEvent;
 
 /**
  * Qualified data source deleted event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class QualifiedDataSourceDeletedEvent {
+public final class QualifiedDataSourceDeletedEvent implements DeliverEvent {
     
     private final QualifiedDataSource qualifiedDataSource;
 }
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/rule/event/GovernanceEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/DispatchEvent.java
similarity index 88%
rename from 
infra/common/src/main/java/org/apache/shardingsphere/infra/rule/event/GovernanceEvent.java
rename to 
mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/DispatchEvent.java
index 64a575557ed..bcf582ae321 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/rule/event/GovernanceEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/DispatchEvent.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.rule.event;
+package org.apache.shardingsphere.mode.event.dispatch;
 
 /**
- * Governance event.
+ * Dispatch event.
  */
-public interface GovernanceEvent {
+public interface DispatchEvent {
 }
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/assisted/CreateDatabaseListenerAssistedEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/assisted/CreateDatabaseListenerAssistedEvent.java
index 757683437fa..f5dd5cc6bbc 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/assisted/CreateDatabaseListenerAssistedEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/assisted/CreateDatabaseListenerAssistedEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.assisted;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Create database listener assisted event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class CreateDatabaseListenerAssistedEvent implements 
GovernanceEvent {
+public final class CreateDatabaseListenerAssistedEvent implements 
DispatchEvent {
     
     private final String databaseName;
 }
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/assisted/DropDatabaseListenerAssistedEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/assisted/DropDatabaseListenerAssistedEvent.java
index 764745dd15c..0eafa259ef2 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/assisted/DropDatabaseListenerAssistedEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/assisted/DropDatabaseListenerAssistedEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.assisted;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Drop database listener assisted event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class DropDatabaseListenerAssistedEvent implements 
GovernanceEvent {
+public final class DropDatabaseListenerAssistedEvent implements DispatchEvent {
     
     private final String databaseName;
 }
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/config/AlterGlobalRuleConfigurationEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/config/AlterGlobalRuleConfigurationEvent.java
index ed9c58f6aa4..df66611357a 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/config/AlterGlobalRuleConfigurationEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/config/AlterGlobalRuleConfigurationEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.config;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Alter global rule configuration event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class AlterGlobalRuleConfigurationEvent implements 
GovernanceEvent {
+public final class AlterGlobalRuleConfigurationEvent implements DispatchEvent {
     
     private final String ruleSimpleName;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/config/AlterPropertiesEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/config/AlterPropertiesEvent.java
index 8127063d574..5d0cbb63ef2 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/config/AlterPropertiesEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/config/AlterPropertiesEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.config;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Alter properties event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class AlterPropertiesEvent implements GovernanceEvent {
+public final class AlterPropertiesEvent implements DispatchEvent {
     
     private final String activeVersionKey;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/node/AlterStorageNodeEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/node/AlterStorageNodeEvent.java
index 15789d5560c..20620e290a4 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/node/AlterStorageNodeEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/node/AlterStorageNodeEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.datasource.node;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Add data source node event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class AlterStorageNodeEvent implements GovernanceEvent {
+public final class AlterStorageNodeEvent implements DispatchEvent {
     
     private final String databaseName;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/node/RegisterStorageNodeEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/node/RegisterStorageNodeEvent.java
index 0675c39eed7..0147684f96e 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/node/RegisterStorageNodeEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/node/RegisterStorageNodeEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.datasource.node;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Add data source node event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class RegisterStorageNodeEvent implements GovernanceEvent {
+public final class RegisterStorageNodeEvent implements DispatchEvent {
     
     private final String databaseName;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/node/UnregisterStorageNodeEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/node/UnregisterStorageNodeEvent.java
index a2f5e74f107..d28c074c5a7 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/node/UnregisterStorageNodeEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/node/UnregisterStorageNodeEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.datasource.node;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Add data source node event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class UnregisterStorageNodeEvent implements GovernanceEvent {
+public final class UnregisterStorageNodeEvent implements DispatchEvent {
     
     private final String databaseName;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/unit/AlterStorageUnitEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/unit/AlterStorageUnitEvent.java
index 4ba8f92aa54..74472571960 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/unit/AlterStorageUnitEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/unit/AlterStorageUnitEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.datasource.unit;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Add data source unit event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class AlterStorageUnitEvent implements GovernanceEvent {
+public final class AlterStorageUnitEvent implements DispatchEvent {
     
     private final String databaseName;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/unit/RegisterStorageUnitEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/unit/RegisterStorageUnitEvent.java
index 8b4f9e7dbc6..b87490cdadb 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/unit/RegisterStorageUnitEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/unit/RegisterStorageUnitEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.datasource.unit;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Add data source unit event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class RegisterStorageUnitEvent implements GovernanceEvent {
+public final class RegisterStorageUnitEvent implements DispatchEvent {
     
     private final String databaseName;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/unit/UnregisterStorageUnitEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/unit/UnregisterStorageUnitEvent.java
index c45b2366570..a5ca2572981 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/unit/UnregisterStorageUnitEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/datasource/unit/UnregisterStorageUnitEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.datasource.unit;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Add data source unit event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class UnregisterStorageUnitEvent implements GovernanceEvent {
+public final class UnregisterStorageUnitEvent implements DispatchEvent {
     
     private final String databaseName;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/DatabaseDataAddedEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/DatabaseDataAddedEvent.java
index a1a39165fbf..4225b01532d 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/DatabaseDataAddedEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/DatabaseDataAddedEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.metadata.data;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Database data added event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class DatabaseDataAddedEvent implements GovernanceEvent {
+public final class DatabaseDataAddedEvent implements DispatchEvent {
     
     private final String databaseName;
 }
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/DatabaseDataDeletedEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/DatabaseDataDeletedEvent.java
index 601f0db2c00..09a0cfee789 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/DatabaseDataDeletedEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/DatabaseDataDeletedEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.metadata.data;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Database deleted event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class DatabaseDataDeletedEvent implements GovernanceEvent {
+public final class DatabaseDataDeletedEvent implements DispatchEvent {
     
     private final String databaseName;
 }
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/SchemaDataAddedEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/SchemaDataAddedEvent.java
index 5ec43c37362..90a73f00dfc 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/SchemaDataAddedEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/SchemaDataAddedEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.metadata.data;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Schema added event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class SchemaDataAddedEvent implements GovernanceEvent {
+public final class SchemaDataAddedEvent implements DispatchEvent {
     
     private final String databaseName;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/SchemaDataDeletedEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/SchemaDataDeletedEvent.java
index a493f1d98fa..b0bd99aae4c 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/SchemaDataDeletedEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/SchemaDataDeletedEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.metadata.data;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Schema deleted event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class SchemaDataDeletedEvent implements GovernanceEvent {
+public final class SchemaDataDeletedEvent implements DispatchEvent {
     
     private final String databaseName;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/ShardingSphereRowDataChangedEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/ShardingSphereRowDataChangedEvent.java
index 2053def51ab..c5d78e03927 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/ShardingSphereRowDataChangedEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/ShardingSphereRowDataChangedEvent.java
@@ -20,14 +20,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.metadata.data;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import 
org.apache.shardingsphere.infra.yaml.data.pojo.YamlShardingSphereRowData;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Row data changed event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class ShardingSphereRowDataChangedEvent implements 
GovernanceEvent {
+public final class ShardingSphereRowDataChangedEvent implements DispatchEvent {
     
     private final String databaseName;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/ShardingSphereRowDataDeletedEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/ShardingSphereRowDataDeletedEvent.java
index 74b96a2d355..148ba88bded 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/ShardingSphereRowDataDeletedEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/ShardingSphereRowDataDeletedEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.metadata.data;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Row data deleted event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class ShardingSphereRowDataDeletedEvent implements 
GovernanceEvent {
+public final class ShardingSphereRowDataDeletedEvent implements DispatchEvent {
     
     private final String databaseName;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/TableDataChangedEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/TableDataChangedEvent.java
index e55c76e62c4..cca93f91c58 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/TableDataChangedEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/data/TableDataChangedEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.metadata.data;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Table data changed event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class TableDataChangedEvent implements GovernanceEvent {
+public final class TableDataChangedEvent implements DispatchEvent {
     
     private final String databaseName;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/SchemaAddedEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/SchemaAddedEvent.java
index 21a35085b65..72c20657841 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/SchemaAddedEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/SchemaAddedEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.metadata.schema;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Schema added event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class SchemaAddedEvent implements GovernanceEvent {
+public final class SchemaAddedEvent implements DispatchEvent {
     
     private final String databaseName;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/SchemaDeletedEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/SchemaDeletedEvent.java
index dd6b0684f97..b260db34985 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/SchemaDeletedEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/SchemaDeletedEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.metadata.schema;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Schema deleted event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class SchemaDeletedEvent implements GovernanceEvent {
+public final class SchemaDeletedEvent implements DispatchEvent {
     
     private final String databaseName;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/table/CreateOrAlterTableEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/table/CreateOrAlterTableEvent.java
index e87271cdff9..31e4635e639 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/table/CreateOrAlterTableEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/table/CreateOrAlterTableEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.metadata.schema.table;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Create or alter table event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class CreateOrAlterTableEvent implements GovernanceEvent {
+public final class CreateOrAlterTableEvent implements DispatchEvent {
     
     private final String databaseName;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/table/DropTableEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/table/DropTableEvent.java
index 24cbdf861fc..46f14a3d0e6 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/table/DropTableEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/table/DropTableEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.metadata.schema.table;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Drop table event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class DropTableEvent implements GovernanceEvent {
+public final class DropTableEvent implements DispatchEvent {
     
     private final String databaseName;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/view/CreateOrAlterViewEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/view/CreateOrAlterViewEvent.java
index 481e5f1d4c7..13dd3207b51 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/view/CreateOrAlterViewEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/view/CreateOrAlterViewEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.metadata.schema.view;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Create or alter view event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class CreateOrAlterViewEvent implements GovernanceEvent {
+public final class CreateOrAlterViewEvent implements DispatchEvent {
     
     private final String databaseName;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/view/DropViewEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/view/DropViewEvent.java
index ecb83629674..5464fa468cf 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/view/DropViewEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/metadata/schema/view/DropViewEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.metadata.schema.view;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Drop view event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class DropViewEvent implements GovernanceEvent {
+public final class DropViewEvent implements DispatchEvent {
     
     private final String databaseName;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/rule/RuleItemChangedEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/rule/RuleItemChangedEvent.java
index 5bc9bd6edc4..ddb3f5eb14c 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/rule/RuleItemChangedEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/rule/RuleItemChangedEvent.java
@@ -17,12 +17,12 @@
 
 package org.apache.shardingsphere.mode.event.dispatch.rule;
 
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Rule item changed event.
  */
-public interface RuleItemChangedEvent extends GovernanceEvent {
+public interface RuleItemChangedEvent extends DispatchEvent {
     
     /**
      * Get rule item type.
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/cluster/ClusterStateEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/cluster/ClusterStateEvent.java
index 2919c235068..635e99b219c 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/cluster/ClusterStateEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/cluster/ClusterStateEvent.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.mode.event.dispatch.state.cluster;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 import org.apache.shardingsphere.infra.state.cluster.ClusterState;
 
 /**
@@ -27,7 +27,7 @@ import 
org.apache.shardingsphere.infra.state.cluster.ClusterState;
  */
 @RequiredArgsConstructor
 @Getter
-public final class ClusterStateEvent implements GovernanceEvent {
+public final class ClusterStateEvent implements DispatchEvent {
     
     private final ClusterState clusterState;
 }
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/ComputeNodeInstanceStateChangedEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/ComputeNodeInstanceStateChangedEvent.java
index 3e5ccdc6305..164244ba22b 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/ComputeNodeInstanceStateChangedEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/ComputeNodeInstanceStateChangedEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.state.compute;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Compute node instance state changed event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class ComputeNodeInstanceStateChangedEvent implements 
GovernanceEvent {
+public final class ComputeNodeInstanceStateChangedEvent implements 
DispatchEvent {
     
     private final String instanceId;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/KillLocalProcessCompletedEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/KillLocalProcessCompletedEvent.java
index b3b90f2a8a1..8899510c9b4 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/KillLocalProcessCompletedEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/KillLocalProcessCompletedEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.state.compute;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Kill local process completed event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class KillLocalProcessCompletedEvent implements GovernanceEvent {
+public final class KillLocalProcessCompletedEvent implements DispatchEvent {
     
     private final String processId;
 }
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/KillLocalProcessEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/KillLocalProcessEvent.java
index f49961888dc..d5ac080daee 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/KillLocalProcessEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/KillLocalProcessEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.state.compute;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Kill local process event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class KillLocalProcessEvent implements GovernanceEvent {
+public final class KillLocalProcessEvent implements DispatchEvent {
     
     private final String instanceId;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/LabelsEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/LabelsEvent.java
index b0436286d9d..9d04ff7fc9b 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/LabelsEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/LabelsEvent.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.mode.event.dispatch.state.compute;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 import java.util.Collection;
 
@@ -28,7 +28,7 @@ import java.util.Collection;
  */
 @RequiredArgsConstructor
 @Getter
-public final class LabelsEvent implements GovernanceEvent {
+public final class LabelsEvent implements DispatchEvent {
     
     private final String instanceId;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/ReportLocalProcessesCompletedEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/ReportLocalProcessesCompletedEvent.java
index df1dfc4044f..9d7f7c69d21 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/ReportLocalProcessesCompletedEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/ReportLocalProcessesCompletedEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.state.compute;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Report local processes completed event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class ReportLocalProcessesCompletedEvent implements 
GovernanceEvent {
+public final class ReportLocalProcessesCompletedEvent implements DispatchEvent 
{
     
     private final String taskId;
 }
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/ReportLocalProcessesEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/ReportLocalProcessesEvent.java
index a0f6250db54..b472b35671c 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/ReportLocalProcessesEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/ReportLocalProcessesEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.state.compute;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Report local processes event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class ReportLocalProcessesEvent implements GovernanceEvent {
+public final class ReportLocalProcessesEvent implements DispatchEvent {
     
     private final String instanceId;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/WorkerIdEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/WorkerIdEvent.java
index 3c41a320a3c..4453ac4175e 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/WorkerIdEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/WorkerIdEvent.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.state.compute;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Worker id event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class WorkerIdEvent implements GovernanceEvent {
+public final class WorkerIdEvent implements DispatchEvent {
     
     private final String instanceId;
     
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/instance/InstanceOfflineEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/instance/InstanceOfflineEvent.java
index 9c20d07592f..a7f949e535d 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/instance/InstanceOfflineEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/instance/InstanceOfflineEvent.java
@@ -20,14 +20,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.state.compute.instance;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.infra.instance.metadata.InstanceMetaData;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Compute node instance offline event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class InstanceOfflineEvent implements GovernanceEvent {
+public final class InstanceOfflineEvent implements DispatchEvent {
     
     private final InstanceMetaData instanceMetaData;
 }
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/instance/InstanceOnlineEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/instance/InstanceOnlineEvent.java
index a7016401c7d..74d6e9c109e 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/instance/InstanceOnlineEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/compute/instance/InstanceOnlineEvent.java
@@ -20,14 +20,14 @@ package 
org.apache.shardingsphere.mode.event.dispatch.state.compute.instance;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.infra.instance.metadata.InstanceMetaData;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 
 /**
  * Compute node instance online event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class InstanceOnlineEvent implements GovernanceEvent {
+public final class InstanceOnlineEvent implements DispatchEvent {
     
     private final InstanceMetaData instanceMetaData;
 }
diff --git 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/storage/QualifiedDataSourceStateEvent.java
 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/storage/QualifiedDataSourceStateEvent.java
index fcd1b417c1a..a8d2aa6e2d1 100644
--- 
a/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/storage/QualifiedDataSourceStateEvent.java
+++ 
b/mode/api/src/main/java/org/apache/shardingsphere/mode/event/dispatch/state/storage/QualifiedDataSourceStateEvent.java
@@ -20,7 +20,7 @@ package 
org.apache.shardingsphere.mode.event.dispatch.state.storage;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.QualifiedDataSource;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 import 
org.apache.shardingsphere.infra.state.datasource.qualified.QualifiedDataSourceState;
 
 /**
@@ -28,7 +28,7 @@ import 
org.apache.shardingsphere.infra.state.datasource.qualified.QualifiedDataS
  */
 @RequiredArgsConstructor
 @Getter
-public final class QualifiedDataSourceStateEvent implements GovernanceEvent {
+public final class QualifiedDataSourceStateEvent implements DispatchEvent {
     
     private final QualifiedDataSource qualifiedDataSource;
     
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/event/builder/RuleConfigurationEventBuilder.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/event/builder/RuleConfigurationEventBuilder.java
index 7ec6e224771..a32b78fa797 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/event/builder/RuleConfigurationEventBuilder.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/event/builder/RuleConfigurationEventBuilder.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.mode.event.builder;
 
 import com.google.common.base.Strings;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
 import org.apache.shardingsphere.mode.event.DataChangedEvent;
 import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
@@ -47,9 +47,9 @@ public final class RuleConfigurationEventBuilder {
      * @param event data changed event
      * @return rule changed event
      */
-    public Optional<GovernanceEvent> build(final String databaseName, final 
DataChangedEvent event) {
+    public Optional<DispatchEvent> build(final String databaseName, final 
DataChangedEvent event) {
         for (RuleNodePathProvider each : 
ShardingSphereServiceLoader.getServiceInstances(RuleNodePathProvider.class)) {
-            Optional<GovernanceEvent> result = build(each.getRuleNodePath(), 
databaseName, event);
+            Optional<DispatchEvent> result = build(each.getRuleNodePath(), 
databaseName, event);
             if (result.isPresent()) {
                 return result;
             }
@@ -57,7 +57,7 @@ public final class RuleConfigurationEventBuilder {
         return Optional.empty();
     }
     
-    private Optional<GovernanceEvent> build(final RuleNodePath ruleNodePath, 
final String databaseName, final DataChangedEvent event) {
+    private Optional<DispatchEvent> build(final RuleNodePath ruleNodePath, 
final String databaseName, final DataChangedEvent event) {
         if (!ruleNodePath.getRoot().isValidatedPath(event.getKey()) || 
Type.DELETED != event.getType() && Strings.isNullOrEmpty(event.getValue())) {
             return Optional.empty();
         }
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/listener/DataChangedEventListenerRegistry.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/listener/DataChangedEventListenerRegistry.java
index 88afe12edb8..28eef35b404 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/listener/DataChangedEventListenerRegistry.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/listener/DataChangedEventListenerRegistry.java
@@ -20,7 +20,7 @@ package 
org.apache.shardingsphere.mode.manager.cluster.coordinator.listener;
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
 import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
 import org.apache.shardingsphere.metadata.persist.node.DatabaseMetaDataNode;
-import 
org.apache.shardingsphere.mode.event.builder.dispatch.DispatchEventBuilder;
+import 
org.apache.shardingsphere.mode.manager.cluster.event.builder.DispatchEventBuilder;
 import org.apache.shardingsphere.mode.manager.ContextManager;
 import 
org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepository;
 
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/listener/MetaDataChangedListener.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/listener/MetaDataChangedListener.java
index 16e51c4bd6b..ecdc89b566a 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/listener/MetaDataChangedListener.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/listener/MetaDataChangedListener.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.mode.manager.cluster.coordinator.listener;
 
 import com.google.common.base.Preconditions;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
 import org.apache.shardingsphere.metadata.persist.node.DatabaseMetaDataNode;
 import 
org.apache.shardingsphere.metadata.persist.node.metadata.DataSourceMetaDataNode;
@@ -59,7 +59,7 @@ public final class MetaDataChangedListener implements 
DataChangedEventListener {
         createGovernanceEvent(event).ifPresent(eventBusContext::post);
     }
     
-    private Optional<GovernanceEvent> createGovernanceEvent(final 
DataChangedEvent event) {
+    private Optional<DispatchEvent> createGovernanceEvent(final 
DataChangedEvent event) {
         String key = event.getKey();
         Optional<String> databaseName = 
DatabaseMetaDataNode.getDatabaseNameBySchemaNode(key);
         Optional<String> schemaName = DatabaseMetaDataNode.getSchemaName(key);
@@ -82,7 +82,7 @@ public final class MetaDataChangedListener implements 
DataChangedEventListener {
         return ruleConfigurationEventBuilder.build(databaseName.get(), event);
     }
     
-    private Optional<GovernanceEvent> createSchemaChangedEvent(final String 
databaseName, final String schemaName, final DataChangedEvent event) {
+    private Optional<DispatchEvent> createSchemaChangedEvent(final String 
databaseName, final String schemaName, final DataChangedEvent event) {
         if (Type.ADDED == event.getType() || Type.UPDATED == event.getType()) {
             return Optional.of(new SchemaAddedEvent(databaseName, schemaName));
         }
@@ -100,7 +100,7 @@ public final class MetaDataChangedListener implements 
DataChangedEventListener {
         return ViewMetaDataNode.isViewActiveVersionNode(key) || 
ViewMetaDataNode.isViewNode(key);
     }
     
-    private Optional<GovernanceEvent> createTableChangedEvent(final String 
databaseName, final String schemaName, final DataChangedEvent event) {
+    private Optional<DispatchEvent> createTableChangedEvent(final String 
databaseName, final String schemaName, final DataChangedEvent event) {
         if (Type.DELETED == event.getType() && 
TableMetaDataNode.isTableNode(event.getKey())) {
             Optional<String> tableName = 
TableMetaDataNode.getTableName(event.getKey());
             Preconditions.checkState(tableName.isPresent(), "Not found table 
name.");
@@ -114,7 +114,7 @@ public final class MetaDataChangedListener implements 
DataChangedEventListener {
         return Optional.empty();
     }
     
-    private Optional<GovernanceEvent> createViewChangedEvent(final String 
databaseName, final String schemaName, final DataChangedEvent event) {
+    private Optional<DispatchEvent> createViewChangedEvent(final String 
databaseName, final String schemaName, final DataChangedEvent event) {
         if (Type.DELETED == event.getType() && 
ViewMetaDataNode.isViewNode(event.getKey())) {
             Optional<String> viewName = 
ViewMetaDataNode.getViewName(event.getKey());
             Preconditions.checkState(viewName.isPresent(), "Not found view 
name.");
@@ -128,7 +128,7 @@ public final class MetaDataChangedListener implements 
DataChangedEventListener {
         return Optional.empty();
     }
     
-    private Optional<GovernanceEvent> createDataSourceEvent(final String 
databaseName, final DataChangedEvent event) {
+    private Optional<DispatchEvent> createDataSourceEvent(final String 
databaseName, final DataChangedEvent event) {
         if 
(DataSourceMetaDataNode.isDataSourceUnitActiveVersionNode(event.getKey()) || 
DataSourceMetaDataNode.isDataSourceUnitNode(event.getKey())) {
             return createStorageUnitChangedEvent(databaseName, event);
         }
@@ -138,7 +138,7 @@ public final class MetaDataChangedListener implements 
DataChangedEventListener {
         return Optional.empty();
     }
     
-    private Optional<GovernanceEvent> createStorageUnitChangedEvent(final 
String databaseName, final DataChangedEvent event) {
+    private Optional<DispatchEvent> createStorageUnitChangedEvent(final String 
databaseName, final DataChangedEvent event) {
         Optional<String> dataSourceUnitName = 
DataSourceMetaDataNode.getDataSourceNameByDataSourceUnitActiveVersionNode(event.getKey());
         if (dataSourceUnitName.isPresent()) {
             if (Type.ADDED == event.getType()) {
@@ -155,7 +155,7 @@ public final class MetaDataChangedListener implements 
DataChangedEventListener {
         return Optional.empty();
     }
     
-    private Optional<GovernanceEvent> createStorageNodeChangedEvent(final 
String databaseName, final DataChangedEvent event) {
+    private Optional<DispatchEvent> createStorageNodeChangedEvent(final String 
databaseName, final DataChangedEvent event) {
         Optional<String> dataSourceNodeName = 
DataSourceMetaDataNode.getDataSourceNameByDataSourceNodeActiveVersionNode(event.getKey());
         if (dataSourceNodeName.isPresent()) {
             if (Type.ADDED == event.getType()) {
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/listener/processor/ListenerAssistedProcessor.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/listener/processor/ListenerAssistedProcessor.java
index b3c2ccf6c57..2c2e847344f 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/listener/processor/ListenerAssistedProcessor.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/listener/processor/ListenerAssistedProcessor.java
@@ -17,7 +17,7 @@
 
 package 
org.apache.shardingsphere.mode.manager.cluster.coordinator.listener.processor;
 
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPI;
 import org.apache.shardingsphere.mode.manager.ContextManager;
@@ -28,7 +28,7 @@ import org.apache.shardingsphere.mode.manager.ContextManager;
  * @param <T> class type of implemented governance event
  */
 @SingletonSPI
-public interface ListenerAssistedProcessor<T extends GovernanceEvent> extends 
TypedSPI {
+public interface ListenerAssistedProcessor<T extends DispatchEvent> extends 
TypedSPI {
     
     /**
      * Get listener key.
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ClusterStateDispatchEventBuilder.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ClusterStateDispatchEventBuilder.java
index b48c7567db1..89dcda30247 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ClusterStateDispatchEventBuilder.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ClusterStateDispatchEventBuilder.java
@@ -18,12 +18,11 @@
 package org.apache.shardingsphere.mode.manager.cluster.event.builder;
 
 import com.google.common.base.Strings;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 import org.apache.shardingsphere.infra.state.cluster.ClusterState;
 import org.apache.shardingsphere.metadata.persist.node.ComputeNode;
 import org.apache.shardingsphere.mode.event.DataChangedEvent;
 import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
-import 
org.apache.shardingsphere.mode.event.builder.dispatch.DispatchEventBuilder;
 import 
org.apache.shardingsphere.mode.event.dispatch.state.cluster.ClusterStateEvent;
 
 import java.util.Arrays;
@@ -34,7 +33,7 @@ import java.util.Optional;
 /**
  * Cluster state dispatch event builder.
  */
-public final class ClusterStateDispatchEventBuilder implements 
DispatchEventBuilder<GovernanceEvent> {
+public final class ClusterStateDispatchEventBuilder implements 
DispatchEventBuilder<DispatchEvent> {
     
     @Override
     public Collection<String> getSubscribedKeys() {
@@ -47,7 +46,7 @@ public final class ClusterStateDispatchEventBuilder 
implements DispatchEventBuil
     }
     
     @Override
-    public Optional<GovernanceEvent> build(final DataChangedEvent event) {
+    public Optional<DispatchEvent> build(final DataChangedEvent event) {
         String clusterStatePath = ComputeNode.getClusterStateNodePath();
         return Strings.isNullOrEmpty(clusterStatePath) || Type.DELETED == 
event.getType() || !event.getKey().equals(ComputeNode.getClusterStateNodePath())
                 ? Optional.empty()
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeOnlineDispatchEventBuilder.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeOnlineDispatchEventBuilder.java
index 312541d2a6e..ee946070504 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeOnlineDispatchEventBuilder.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeOnlineDispatchEventBuilder.java
@@ -23,12 +23,11 @@ import 
org.apache.shardingsphere.infra.instance.metadata.InstanceMetaDataFactory
 import org.apache.shardingsphere.infra.instance.metadata.InstanceType;
 import org.apache.shardingsphere.infra.instance.yaml.YamlComputeNodeData;
 import 
org.apache.shardingsphere.infra.instance.yaml.YamlComputeNodeDataSwapper;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.metadata.persist.node.ComputeNode;
 import org.apache.shardingsphere.mode.event.DataChangedEvent;
 import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
-import 
org.apache.shardingsphere.mode.event.builder.dispatch.DispatchEventBuilder;
 import 
org.apache.shardingsphere.mode.event.dispatch.state.compute.instance.InstanceOfflineEvent;
 import 
org.apache.shardingsphere.mode.event.dispatch.state.compute.instance.InstanceOnlineEvent;
 
@@ -42,7 +41,7 @@ import java.util.regex.Pattern;
 /**
  *  Compute node online dispatch event builder.
  */
-public final class ComputeNodeOnlineDispatchEventBuilder implements 
DispatchEventBuilder<GovernanceEvent> {
+public final class ComputeNodeOnlineDispatchEventBuilder implements 
DispatchEventBuilder<DispatchEvent> {
     
     @Override
     public Collection<String> getSubscribedKeys() {
@@ -55,14 +54,14 @@ public final class ComputeNodeOnlineDispatchEventBuilder 
implements DispatchEven
     }
     
     @Override
-    public Optional<GovernanceEvent> build(final DataChangedEvent event) {
+    public Optional<DispatchEvent> build(final DataChangedEvent event) {
         if 
(event.getKey().startsWith(ComputeNode.getOnlineInstanceNodePath())) {
             return createInstanceEvent(event);
         }
         return Optional.empty();
     }
     
-    private Optional<GovernanceEvent> createInstanceEvent(final 
DataChangedEvent event) {
+    private Optional<DispatchEvent> createInstanceEvent(final DataChangedEvent 
event) {
         Matcher matcher = getInstanceOnlinePathMatcher(event.getKey());
         if (matcher.find()) {
             ComputeNodeData computeNodeData = new 
YamlComputeNodeDataSwapper().swapToObject(YamlEngine.unmarshal(event.getValue(),
 YamlComputeNodeData.class));
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeStateDispatchEventBuilder.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeStateDispatchEventBuilder.java
index f26a50a0ed5..4c21fb1a2b4 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeStateDispatchEventBuilder.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeStateDispatchEventBuilder.java
@@ -18,12 +18,11 @@
 package org.apache.shardingsphere.mode.manager.cluster.event.builder;
 
 import com.google.common.base.Strings;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.metadata.persist.node.ComputeNode;
 import org.apache.shardingsphere.mode.event.DataChangedEvent;
 import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
-import 
org.apache.shardingsphere.mode.event.builder.dispatch.DispatchEventBuilder;
 import 
org.apache.shardingsphere.mode.event.dispatch.state.compute.ComputeNodeInstanceStateChangedEvent;
 import 
org.apache.shardingsphere.mode.event.dispatch.state.compute.KillLocalProcessCompletedEvent;
 import 
org.apache.shardingsphere.mode.event.dispatch.state.compute.KillLocalProcessEvent;
@@ -43,7 +42,7 @@ import java.util.regex.Pattern;
 /**
  * Compute node state dispatch event builder.
  */
-public final class ComputeNodeStateDispatchEventBuilder implements 
DispatchEventBuilder<GovernanceEvent> {
+public final class ComputeNodeStateDispatchEventBuilder implements 
DispatchEventBuilder<DispatchEvent> {
     
     @Override
     public Collection<String> getSubscribedKeys() {
@@ -56,10 +55,10 @@ public final class ComputeNodeStateDispatchEventBuilder 
implements DispatchEvent
     }
     
     @Override
-    public Optional<GovernanceEvent> build(final DataChangedEvent event) {
+    public Optional<DispatchEvent> build(final DataChangedEvent event) {
         String instanceId = 
ComputeNode.getInstanceIdByComputeNode(event.getKey());
         if (!Strings.isNullOrEmpty(instanceId)) {
-            Optional<GovernanceEvent> result = 
createInstanceGovernanceEvent(event, instanceId);
+            Optional<DispatchEvent> result = 
createInstanceGovernanceEvent(event, instanceId);
             if (result.isPresent()) {
                 return result;
             }
@@ -74,7 +73,7 @@ public final class ComputeNodeStateDispatchEventBuilder 
implements DispatchEvent
     }
     
     @SuppressWarnings("unchecked")
-    private Optional<GovernanceEvent> createInstanceGovernanceEvent(final 
DataChangedEvent event, final String instanceId) {
+    private Optional<DispatchEvent> createInstanceGovernanceEvent(final 
DataChangedEvent event, final String instanceId) {
         if 
(event.getKey().equals(ComputeNode.getComputeNodeStateNodePath(instanceId)) && 
Type.DELETED != event.getType()) {
             return Optional.of(new 
ComputeNodeInstanceStateChangedEvent(instanceId, event.getValue()));
         }
@@ -87,7 +86,7 @@ public final class ComputeNodeStateDispatchEventBuilder 
implements DispatchEvent
         return Optional.empty();
     }
     
-    private Optional<GovernanceEvent> createReportLocalProcessesEvent(final 
DataChangedEvent event) {
+    private Optional<DispatchEvent> createReportLocalProcessesEvent(final 
DataChangedEvent event) {
         Matcher matcher = getShowProcessListTriggerMatcher(event);
         if (!matcher.find()) {
             return Optional.empty();
@@ -105,7 +104,7 @@ public final class ComputeNodeStateDispatchEventBuilder 
implements DispatchEvent
         return Pattern.compile(ComputeNode.getShowProcessListTriggerNodePath() 
+ "/([\\S]+):([\\S]+)$", Pattern.CASE_INSENSITIVE).matcher(event.getKey());
     }
     
-    private Optional<GovernanceEvent> createKillLocalProcessEvent(final 
DataChangedEvent event) {
+    private Optional<DispatchEvent> createKillLocalProcessEvent(final 
DataChangedEvent event) {
         Matcher matcher = getKillProcessTriggerMatcher(event);
         if (!matcher.find()) {
             return Optional.empty();
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/event/builder/dispatch/DispatchEventBuilder.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/DispatchEventBuilder.java
similarity index 95%
rename from 
mode/core/src/main/java/org/apache/shardingsphere/mode/event/builder/dispatch/DispatchEventBuilder.java
rename to 
mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/DispatchEventBuilder.java
index 037bb8d08c8..e5cf802fec0 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/event/builder/dispatch/DispatchEventBuilder.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/DispatchEventBuilder.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.mode.event.builder.dispatch;
+package org.apache.shardingsphere.mode.manager.cluster.event.builder;
 
 import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
 import org.apache.shardingsphere.mode.event.DataChangedEvent;
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/GlobalRuleDispatchEventBuilder.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/GlobalRuleDispatchEventBuilder.java
index a1af3e16c59..e84677cbc04 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/GlobalRuleDispatchEventBuilder.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/GlobalRuleDispatchEventBuilder.java
@@ -17,13 +17,12 @@
 
 package org.apache.shardingsphere.mode.manager.cluster.event.builder;
 
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 import org.apache.shardingsphere.mode.path.GlobalNodePath;
 import org.apache.shardingsphere.metadata.persist.node.GlobalNode;
 import org.apache.shardingsphere.mode.event.DataChangedEvent;
 import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
 import 
org.apache.shardingsphere.mode.event.dispatch.config.AlterGlobalRuleConfigurationEvent;
-import 
org.apache.shardingsphere.mode.event.builder.dispatch.DispatchEventBuilder;
 
 import java.util.Arrays;
 import java.util.Collection;
@@ -33,7 +32,7 @@ import java.util.Optional;
 /**
  * Global rule dispatch event builder.
  */
-public final class GlobalRuleDispatchEventBuilder implements 
DispatchEventBuilder<GovernanceEvent> {
+public final class GlobalRuleDispatchEventBuilder implements 
DispatchEventBuilder<DispatchEvent> {
     
     @Override
     public Collection<String> getSubscribedKeys() {
@@ -46,7 +45,7 @@ public final class GlobalRuleDispatchEventBuilder implements 
DispatchEventBuilde
     }
     
     @Override
-    public Optional<GovernanceEvent> build(final DataChangedEvent event) {
+    public Optional<DispatchEvent> build(final DataChangedEvent event) {
         if (GlobalNodePath.isRuleActiveVersionPath(event.getKey())) {
             return GlobalNodePath.getRuleName(event.getKey()).map(optional -> 
new AlterGlobalRuleConfigurationEvent(optional, event.getKey(), 
event.getValue()));
         }
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ListenerAssistedDispatchEventBuilder.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ListenerAssistedDispatchEventBuilder.java
index bf0ad274036..ce57eb2999b 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ListenerAssistedDispatchEventBuilder.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ListenerAssistedDispatchEventBuilder.java
@@ -17,11 +17,10 @@
 
 package org.apache.shardingsphere.mode.manager.cluster.event.builder;
 
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.mode.event.DataChangedEvent;
 import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
-import 
org.apache.shardingsphere.mode.event.builder.dispatch.DispatchEventBuilder;
 import 
org.apache.shardingsphere.mode.event.dispatch.assisted.DropDatabaseListenerAssistedEvent;
 import 
org.apache.shardingsphere.mode.event.dispatch.assisted.CreateDatabaseListenerAssistedEvent;
 import org.apache.shardingsphere.mode.persist.pojo.ListenerAssistedType;
@@ -36,7 +35,7 @@ import java.util.Optional;
 /**
  * Listener assisted dispatch event builder.
  */
-public class ListenerAssistedDispatchEventBuilder implements 
DispatchEventBuilder<GovernanceEvent> {
+public class ListenerAssistedDispatchEventBuilder implements 
DispatchEventBuilder<DispatchEvent> {
     
     @Override
     public Collection<String> getSubscribedKeys() {
@@ -49,7 +48,7 @@ public class ListenerAssistedDispatchEventBuilder implements 
DispatchEventBuilde
     }
     
     @Override
-    public Optional<GovernanceEvent> build(final DataChangedEvent event) {
+    public Optional<DispatchEvent> build(final DataChangedEvent event) {
         Optional<String> databaseName = 
ListenerAssistedNodePath.getDatabaseName(event.getKey());
         if (!databaseName.isPresent()) {
             return Optional.empty();
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/PropertiesDispatchEventBuilder.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/PropertiesDispatchEventBuilder.java
index 85e5fdac3e4..8a331f3b01e 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/PropertiesDispatchEventBuilder.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/PropertiesDispatchEventBuilder.java
@@ -22,7 +22,6 @@ import 
org.apache.shardingsphere.metadata.persist.node.GlobalNode;
 import org.apache.shardingsphere.mode.event.DataChangedEvent;
 import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
 import 
org.apache.shardingsphere.mode.event.dispatch.config.AlterPropertiesEvent;
-import 
org.apache.shardingsphere.mode.event.builder.dispatch.DispatchEventBuilder;
 
 import java.util.Arrays;
 import java.util.Collections;
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/QualifiedDataSourceDispatchEventBuilder.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/QualifiedDataSourceDispatchEventBuilder.java
index f402a5c6824..51f2d6c99a5 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/QualifiedDataSourceDispatchEventBuilder.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/QualifiedDataSourceDispatchEventBuilder.java
@@ -19,11 +19,10 @@ package 
org.apache.shardingsphere.mode.manager.cluster.event.builder;
 
 import com.google.common.base.Strings;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.QualifiedDataSource;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.mode.event.DataChangedEvent;
 import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
-import 
org.apache.shardingsphere.mode.event.builder.dispatch.DispatchEventBuilder;
 import 
org.apache.shardingsphere.mode.event.dispatch.state.storage.QualifiedDataSourceStateEvent;
 import 
org.apache.shardingsphere.infra.state.datasource.qualified.QualifiedDataSourceState;
 import org.apache.shardingsphere.mode.storage.node.QualifiedDataSourceNode;
@@ -38,7 +37,7 @@ import java.util.Optional;
 /**
  * Qualified data source dispatch event builder.
  */
-public final class QualifiedDataSourceDispatchEventBuilder implements 
DispatchEventBuilder<GovernanceEvent> {
+public final class QualifiedDataSourceDispatchEventBuilder implements 
DispatchEventBuilder<DispatchEvent> {
     
     @Override
     public Collection<String> getSubscribedKeys() {
@@ -51,7 +50,7 @@ public final class QualifiedDataSourceDispatchEventBuilder 
implements DispatchEv
     }
     
     @Override
-    public Optional<GovernanceEvent> build(final DataChangedEvent event) {
+    public Optional<DispatchEvent> build(final DataChangedEvent event) {
         if (Strings.isNullOrEmpty(event.getValue())) {
             return Optional.empty();
         }
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ShardingSphereDataDispatchEventBuilder.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ShardingSphereDataDispatchEventBuilder.java
index 3864ecc2d70..31d98379421 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ShardingSphereDataDispatchEventBuilder.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ShardingSphereDataDispatchEventBuilder.java
@@ -22,8 +22,7 @@ import com.google.common.base.Strings;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import 
org.apache.shardingsphere.infra.yaml.data.pojo.YamlShardingSphereRowData;
 import org.apache.shardingsphere.metadata.persist.node.ShardingSphereDataNode;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
-import 
org.apache.shardingsphere.mode.event.builder.dispatch.DispatchEventBuilder;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 import 
org.apache.shardingsphere.mode.event.dispatch.metadata.data.DatabaseDataAddedEvent;
 import 
org.apache.shardingsphere.mode.event.dispatch.metadata.data.DatabaseDataDeletedEvent;
 import 
org.apache.shardingsphere.mode.event.dispatch.metadata.data.SchemaDataAddedEvent;
@@ -42,7 +41,7 @@ import java.util.Optional;
 /**
  * ShardingSphere data dispatch event builder.
  */
-public final class ShardingSphereDataDispatchEventBuilder implements 
DispatchEventBuilder<GovernanceEvent> {
+public final class ShardingSphereDataDispatchEventBuilder implements 
DispatchEventBuilder<DispatchEvent> {
     
     @Override
     public Collection<String> getSubscribedKeys() {
@@ -55,7 +54,7 @@ public final class ShardingSphereDataDispatchEventBuilder 
implements DispatchEve
     }
     
     @Override
-    public Optional<GovernanceEvent> build(final DataChangedEvent event) {
+    public Optional<DispatchEvent> build(final DataChangedEvent event) {
         if (isDatabaseChanged(event)) {
             return createDatabaseChangedEvent(event);
         }
@@ -90,7 +89,7 @@ public final class ShardingSphereDataDispatchEventBuilder 
implements DispatchEve
         return 
ShardingSphereDataNode.getRowUniqueKey(event.getKey()).isPresent();
     }
     
-    private Optional<GovernanceEvent> createDatabaseChangedEvent(final 
DataChangedEvent event) {
+    private Optional<DispatchEvent> createDatabaseChangedEvent(final 
DataChangedEvent event) {
         Optional<String> databaseName = 
ShardingSphereDataNode.getDatabaseName(event.getKey());
         Preconditions.checkState(databaseName.isPresent());
         if (Type.ADDED == event.getType() || Type.UPDATED == event.getType()) {
@@ -102,7 +101,7 @@ public final class ShardingSphereDataDispatchEventBuilder 
implements DispatchEve
         return Optional.empty();
     }
     
-    private Optional<GovernanceEvent> createSchemaChangedEvent(final 
DataChangedEvent event) {
+    private Optional<DispatchEvent> createSchemaChangedEvent(final 
DataChangedEvent event) {
         Optional<String> databaseName = 
ShardingSphereDataNode.getDatabaseNameByDatabasePath(event.getKey());
         Preconditions.checkState(databaseName.isPresent());
         Optional<String> schemaName = 
ShardingSphereDataNode.getSchemaName(event.getKey());
@@ -116,7 +115,7 @@ public final class ShardingSphereDataDispatchEventBuilder 
implements DispatchEve
         return Optional.empty();
     }
     
-    private Optional<GovernanceEvent> createTableChangedEvent(final 
DataChangedEvent event) {
+    private Optional<DispatchEvent> createTableChangedEvent(final 
DataChangedEvent event) {
         Optional<String> databaseName = 
ShardingSphereDataNode.getDatabaseNameByDatabasePath(event.getKey());
         Preconditions.checkState(databaseName.isPresent());
         Optional<String> schemaName = 
ShardingSphereDataNode.getSchemaNameBySchemaPath(event.getKey());
@@ -124,7 +123,7 @@ public final class ShardingSphereDataDispatchEventBuilder 
implements DispatchEve
         return doCreateTableChangedEvent(event, databaseName.get(), 
schemaName.get());
     }
     
-    private Optional<GovernanceEvent> doCreateTableChangedEvent(final 
DataChangedEvent event, final String databaseName, final String schemaName) {
+    private Optional<DispatchEvent> doCreateTableChangedEvent(final 
DataChangedEvent event, final String databaseName, final String schemaName) {
         Optional<String> tableName = 
ShardingSphereDataNode.getTableName(event.getKey());
         Preconditions.checkState(tableName.isPresent());
         if (Type.ADDED == event.getType() || Type.UPDATED == event.getType()) {
@@ -136,7 +135,7 @@ public final class ShardingSphereDataDispatchEventBuilder 
implements DispatchEve
         return Optional.empty();
     }
     
-    private Optional<GovernanceEvent> createRowDataChangedEvent(final 
DataChangedEvent event) {
+    private Optional<DispatchEvent> createRowDataChangedEvent(final 
DataChangedEvent event) {
         Optional<String> databaseName = 
ShardingSphereDataNode.getDatabaseNameByDatabasePath(event.getKey());
         Preconditions.checkState(databaseName.isPresent());
         Optional<String> schemaName = 
ShardingSphereDataNode.getSchemaNameBySchemaPath(event.getKey());
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/subscriber/dispatch/CacheEvictedSubscriber.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/subscriber/dispatch/CacheEvictedSubscriber.java
index 7563da79a3d..142bb48a91d 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/subscriber/dispatch/CacheEvictedSubscriber.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/subscriber/dispatch/CacheEvictedSubscriber.java
@@ -18,7 +18,7 @@
 package 
org.apache.shardingsphere.mode.manager.cluster.event.subscriber.dispatch;
 
 import com.google.common.eventbus.Subscribe;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 import 
org.apache.shardingsphere.infra.spi.type.ordered.cache.OrderedServicesCache;
 import org.apache.shardingsphere.infra.util.eventbus.EventSubscriber;
 
@@ -29,12 +29,12 @@ import 
org.apache.shardingsphere.infra.util.eventbus.EventSubscriber;
 public final class CacheEvictedSubscriber implements EventSubscriber {
     
     /**
-     * Callback of any {@link GovernanceEvent}.
+     * Callback of any {@link DispatchEvent}.
      *
      * @param ignored unused
      */
     @Subscribe
-    public void onGovernanceEvent(final GovernanceEvent ignored) {
+    public void onGovernanceEvent(final DispatchEvent ignored) {
         OrderedServicesCache.clearCache();
     }
 }
diff --git 
a/mode/type/cluster/core/src/main/resources/META-INF/services/org.apache.shardingsphere.mode.event.builder.dispatch.DispatchEventBuilder
 
b/mode/type/cluster/core/src/main/resources/META-INF/services/org.apache.shardingsphere.mode.manager.cluster.event.builder.DispatchEventBuilder
similarity index 100%
rename from 
mode/type/cluster/core/src/main/resources/META-INF/services/org.apache.shardingsphere.mode.event.builder.dispatch.DispatchEventBuilder
rename to 
mode/type/cluster/core/src/main/resources/META-INF/services/org.apache.shardingsphere.mode.manager.cluster.event.builder.DispatchEventBuilder
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ClusterStateDispatchEventBuilderTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ClusterStateDispatchEventBuilderTest.java
index b70c8c82358..895fa789004 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ClusterStateDispatchEventBuilderTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ClusterStateDispatchEventBuilderTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.mode.manager.cluster.event.builder;
 
 import org.apache.shardingsphere.infra.state.cluster.ClusterState;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 import 
org.apache.shardingsphere.mode.event.dispatch.state.cluster.ClusterStateEvent;
 import org.apache.shardingsphere.mode.event.DataChangedEvent;
 import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
@@ -34,7 +34,7 @@ class ClusterStateDispatchEventBuilderTest {
     
     @Test
     void assertCreateEventWhenReadOnly() {
-        Optional<GovernanceEvent> actual = new 
ClusterStateDispatchEventBuilder()
+        Optional<DispatchEvent> actual = new ClusterStateDispatchEventBuilder()
                 .build(new DataChangedEvent("/nodes/compute_nodes/status", 
ClusterState.READ_ONLY.name(), Type.UPDATED));
         assertTrue(actual.isPresent());
         assertThat(((ClusterStateEvent) actual.get()).getClusterState(), 
is(ClusterState.READ_ONLY));
@@ -42,7 +42,7 @@ class ClusterStateDispatchEventBuilderTest {
     
     @Test
     void assertCreateEventWhenUnavailable() {
-        Optional<GovernanceEvent> actual = new 
ClusterStateDispatchEventBuilder()
+        Optional<DispatchEvent> actual = new ClusterStateDispatchEventBuilder()
                 .build(new DataChangedEvent("/nodes/compute_nodes/status", 
ClusterState.UNAVAILABLE.name(), Type.UPDATED));
         assertTrue(actual.isPresent());
         assertThat(((ClusterStateEvent) actual.get()).getClusterState(), 
is(ClusterState.UNAVAILABLE));
@@ -50,7 +50,7 @@ class ClusterStateDispatchEventBuilderTest {
     
     @Test
     void assertCreateEventWhenEnabled() {
-        Optional<GovernanceEvent> actual = new 
ClusterStateDispatchEventBuilder()
+        Optional<DispatchEvent> actual = new ClusterStateDispatchEventBuilder()
                 .build(new DataChangedEvent("/nodes/compute_nodes/status", 
ClusterState.OK.name(), Type.UPDATED));
         assertTrue(actual.isPresent());
         assertThat(((ClusterStateEvent) actual.get()).getClusterState(), 
is(ClusterState.OK));
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeOnlineDispatchEventBuilderTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeOnlineDispatchEventBuilderTest.java
index d8202653352..726a64f73e6 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeOnlineDispatchEventBuilderTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeOnlineDispatchEventBuilderTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.mode.manager.cluster.event.builder;
 
 import org.apache.shardingsphere.infra.instance.metadata.InstanceType;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 import org.apache.shardingsphere.mode.event.DataChangedEvent;
 import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
 import 
org.apache.shardingsphere.mode.event.dispatch.state.compute.instance.InstanceOfflineEvent;
@@ -35,7 +35,7 @@ class ComputeNodeOnlineDispatchEventBuilderTest {
     
     @Test
     void assertComputeNodeOnline() {
-        Optional<GovernanceEvent> actual = new 
ComputeNodeOnlineDispatchEventBuilder()
+        Optional<DispatchEvent> actual = new 
ComputeNodeOnlineDispatchEventBuilder()
                 .build(new 
DataChangedEvent("/nodes/compute_nodes/online/proxy/foo_instance_id", 
"{attribute: 127.0.0.1@3307,version: 1}", Type.ADDED));
         assertTrue(actual.isPresent());
         InstanceOnlineEvent event = (InstanceOnlineEvent) actual.get();
@@ -48,7 +48,7 @@ class ComputeNodeOnlineDispatchEventBuilderTest {
     
     @Test
     void assertComputeNodeOffline() {
-        Optional<GovernanceEvent> actual = new 
ComputeNodeOnlineDispatchEventBuilder()
+        Optional<DispatchEvent> actual = new 
ComputeNodeOnlineDispatchEventBuilder()
                 .build(new 
DataChangedEvent("/nodes/compute_nodes/online/proxy/foo_instance_id", 
"{attribute: 127.0.0.1@3307,version: 1}", Type.DELETED));
         assertTrue(actual.isPresent());
         InstanceOfflineEvent event = (InstanceOfflineEvent) actual.get();
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeStateDispatchEventBuilderTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeStateDispatchEventBuilderTest.java
index 1f75ee2090f..f1cbb9acf63 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeStateDispatchEventBuilderTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeStateDispatchEventBuilderTest.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.mode.manager.cluster.event.builder;
 
 import org.apache.shardingsphere.infra.state.instance.InstanceState;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 import org.apache.shardingsphere.mode.event.dispatch.state.compute.LabelsEvent;
 import 
org.apache.shardingsphere.mode.event.dispatch.state.compute.ComputeNodeInstanceStateChangedEvent;
 import org.apache.shardingsphere.mode.event.DataChangedEvent;
@@ -37,7 +37,7 @@ class ComputeNodeStateDispatchEventBuilderTest {
     
     @Test
     void assertCreateEventWhenDisabled() {
-        Optional<GovernanceEvent> actual = new 
ComputeNodeStateDispatchEventBuilder()
+        Optional<DispatchEvent> actual = new 
ComputeNodeStateDispatchEventBuilder()
                 .build(new 
DataChangedEvent("/nodes/compute_nodes/status/foo_instance_id", 
InstanceState.CIRCUIT_BREAK.name(), Type.ADDED));
         assertTrue(actual.isPresent());
         assertThat(((ComputeNodeInstanceStateChangedEvent) 
actual.get()).getStatus(), is(InstanceState.CIRCUIT_BREAK.name()));
@@ -46,7 +46,7 @@ class ComputeNodeStateDispatchEventBuilderTest {
     
     @Test
     void assertCreateEventWhenEnabled() {
-        Optional<GovernanceEvent> actual = new 
ComputeNodeStateDispatchEventBuilder()
+        Optional<DispatchEvent> actual = new 
ComputeNodeStateDispatchEventBuilder()
                 .build(new 
DataChangedEvent("/nodes/compute_nodes/status/foo_instance_id", "", 
Type.UPDATED));
         assertTrue(actual.isPresent());
         assertTrue(((ComputeNodeInstanceStateChangedEvent) 
actual.get()).getStatus().isEmpty());
@@ -55,7 +55,7 @@ class ComputeNodeStateDispatchEventBuilderTest {
     
     @Test
     void assertCreateAddLabelEvent() {
-        Optional<GovernanceEvent> actual = new 
ComputeNodeStateDispatchEventBuilder()
+        Optional<DispatchEvent> actual = new 
ComputeNodeStateDispatchEventBuilder()
                 .build(new 
DataChangedEvent("/nodes/compute_nodes/labels/foo_instance_id",
                         YamlEngine.marshal(Arrays.asList("label_1", 
"label_2")), Type.ADDED));
         assertTrue(actual.isPresent());
@@ -65,7 +65,7 @@ class ComputeNodeStateDispatchEventBuilderTest {
     
     @Test
     void assertCreateUpdateLabelsEvent() {
-        Optional<GovernanceEvent> actual = new 
ComputeNodeStateDispatchEventBuilder()
+        Optional<DispatchEvent> actual = new 
ComputeNodeStateDispatchEventBuilder()
                 .build(new 
DataChangedEvent("/nodes/compute_nodes/labels/foo_instance_id",
                         YamlEngine.marshal(Arrays.asList("label_1", 
"label_2")), Type.UPDATED));
         assertTrue(actual.isPresent());
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/QualifiedDataSourceDispatchEventBuilderTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/QualifiedDataSourceDispatchEventBuilderTest.java
index 1ce2262fc8c..558d6e34300 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/QualifiedDataSourceDispatchEventBuilderTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/QualifiedDataSourceDispatchEventBuilderTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.mode.manager.cluster.event.builder;
 
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 import org.apache.shardingsphere.infra.state.datasource.DataSourceState;
 import org.apache.shardingsphere.mode.event.DataChangedEvent;
 import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
@@ -35,7 +35,7 @@ class QualifiedDataSourceDispatchEventBuilderTest {
     
     @Test
     void assertCreateEnabledQualifiedDataSourceChangedEvent() {
-        Optional<GovernanceEvent> actual = new 
QualifiedDataSourceDispatchEventBuilder().build(
+        Optional<DispatchEvent> actual = new 
QualifiedDataSourceDispatchEventBuilder().build(
                 new 
DataChangedEvent("/nodes/qualified_data_sources/replica_query_db.readwrite_ds.replica_ds_0",
 "state: ENABLED\n", Type.ADDED));
         assertTrue(actual.isPresent());
         QualifiedDataSourceStateEvent actualEvent = 
(QualifiedDataSourceStateEvent) actual.get();
@@ -47,7 +47,7 @@ class QualifiedDataSourceDispatchEventBuilderTest {
     
     @Test
     void assertCreateDisabledQualifiedDataSourceChangedEvent() {
-        Optional<GovernanceEvent> actual = new 
QualifiedDataSourceDispatchEventBuilder().build(
+        Optional<DispatchEvent> actual = new 
QualifiedDataSourceDispatchEventBuilder().build(
                 new 
DataChangedEvent("/nodes/qualified_data_sources/replica_query_db.readwrite_ds.replica_ds_0",
 "state: DISABLED\n", Type.DELETED));
         assertTrue(actual.isPresent());
         QualifiedDataSourceStateEvent actualEvent = 
(QualifiedDataSourceStateEvent) actual.get();
@@ -59,7 +59,7 @@ class QualifiedDataSourceDispatchEventBuilderTest {
     
     @Test
     void assertCreateEmptyEvent() {
-        Optional<GovernanceEvent> actual = new 
QualifiedDataSourceDispatchEventBuilder().build(
+        Optional<DispatchEvent> actual = new 
QualifiedDataSourceDispatchEventBuilder().build(
                 new 
DataChangedEvent("/nodes/qualified_data_sources/replica_query_db.readwrite_ds.replica_ds_0",
 "", Type.ADDED));
         assertFalse(actual.isPresent());
     }
diff --git 
a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistService.java
 
b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistService.java
index 833bc148152..a1d7396e912 100644
--- 
a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistService.java
+++ 
b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistService.java
@@ -29,7 +29,7 @@ import 
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchema
 import 
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaPOJO;
 import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
 import 
org.apache.shardingsphere.infra.rule.attribute.datanode.MutableDataNodeRuleAttribute;
-import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 import 
org.apache.shardingsphere.mode.event.dispatch.rule.alter.AlterRuleItemEvent;
 import 
org.apache.shardingsphere.mode.event.dispatch.rule.drop.DropRuleItemEvent;
 import org.apache.shardingsphere.infra.rule.scope.GlobalRule;
@@ -284,7 +284,7 @@ public final class StandaloneMetaDataManagerPersistService 
implements MetaDataMa
                     
.persistConfigurations(metaDataContextManager.getMetaDataContexts().get().getMetaData().getDatabase(databaseName).getName(),
 Collections.singletonList(toBeAlteredRuleConfig));
             
metaDataPersistService.getMetaDataVersionPersistService().switchActiveVersion(metaDataVersions);
             for (MetaDataVersion each : metaDataVersions) {
-                Optional<GovernanceEvent> ruleItemEvent = 
buildAlterRuleItemEvent(databaseName, each, Type.UPDATED);
+                Optional<DispatchEvent> ruleItemEvent = 
buildAlterRuleItemEvent(databaseName, each, Type.UPDATED);
                 if (ruleItemEvent.isPresent() && ruleItemEvent.get() 
instanceof AlterRuleItemEvent) {
                     
metaDataContextManager.getRuleItemManager().alterRuleItem((AlterRuleItemEvent) 
ruleItemEvent.get());
                 }
@@ -294,7 +294,7 @@ public final class StandaloneMetaDataManagerPersistService 
implements MetaDataMa
         return Collections.emptyList();
     }
     
-    private Optional<GovernanceEvent> buildAlterRuleItemEvent(final String 
databaseName, final MetaDataVersion metaDataVersion, final Type type) {
+    private Optional<DispatchEvent> buildAlterRuleItemEvent(final String 
databaseName, final MetaDataVersion metaDataVersion, final Type type) {
         return ruleConfigurationEventBuilder.build(databaseName, new 
DataChangedEvent(metaDataVersion.getActiveVersionNodePath(), 
metaDataVersion.getNextActiveVersion(), type));
     }
     
@@ -304,7 +304,7 @@ public final class StandaloneMetaDataManagerPersistService 
implements MetaDataMa
             Collection<MetaDataVersion> metaDataVersions = 
metaDataPersistService.getDatabaseRulePersistService()
                     .deleteConfigurations(databaseName, 
Collections.singleton(toBeRemovedRuleConfig));
             for (MetaDataVersion metaDataVersion : metaDataVersions) {
-                Optional<GovernanceEvent> ruleItemEvent = 
buildAlterRuleItemEvent(databaseName, metaDataVersion, Type.DELETED);
+                Optional<DispatchEvent> ruleItemEvent = 
buildAlterRuleItemEvent(databaseName, metaDataVersion, Type.DELETED);
                 if (ruleItemEvent.isPresent() && ruleItemEvent.get() 
instanceof DropRuleItemEvent) {
                     
metaDataContextManager.getRuleItemManager().dropRuleItem((DropRuleItemEvent) 
ruleItemEvent.get());
                 }

Reply via email to