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

zhangliang 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 7e3c47d9759 Add @HighFrequencyInvocation on Broadcast router (#34004)
7e3c47d9759 is described below

commit 7e3c47d97594ee79b8fd1c045ec302e8e24fe6d7
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Dec 11 12:09:35 2024 +0800

    Add @HighFrequencyInvocation on Broadcast router (#34004)
---
 .../apache/shardingsphere/broadcast/route/BroadcastSQLRouter.java  | 5 +----
 .../broadcast/route/engine/type/BroadcastRouteEngine.java          | 4 ++--
 .../route/engine/type/unicast/BroadcastUnicastRouteEngine.java     | 7 ++++---
 3 files changed, 7 insertions(+), 9 deletions(-)

diff --git 
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/BroadcastSQLRouter.java
 
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/BroadcastSQLRouter.java
index e9926f0b89b..0e2925625b9 100644
--- 
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/BroadcastSQLRouter.java
+++ 
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/BroadcastSQLRouter.java
@@ -41,10 +41,7 @@ public final class BroadcastSQLRouter implements 
EntranceSQLRouter<BroadcastRule
     public RouteContext createRouteContext(final QueryContext queryContext, 
final RuleMetaData globalRuleMetaData, final ShardingSphereDatabase database,
                                            final BroadcastRule rule, final 
Collection<String> tableNames, final ConfigurationProperties props) {
         Collection<String> broadcastTableNames = 
rule.getBroadcastTableNames(tableNames);
-        if (broadcastTableNames.isEmpty()) {
-            return new RouteContext();
-        }
-        return BroadcastRouteEngineFactory.newInstance(queryContext, 
broadcastTableNames).route(rule);
+        return broadcastTableNames.isEmpty() ? new RouteContext() : 
BroadcastRouteEngineFactory.newInstance(queryContext, 
broadcastTableNames).route(rule);
     }
     
     @Override
diff --git 
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/engine/type/BroadcastRouteEngine.java
 
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/engine/type/BroadcastRouteEngine.java
index 0825f9ffceb..87cd32c0fa0 100644
--- 
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/engine/type/BroadcastRouteEngine.java
+++ 
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/engine/type/BroadcastRouteEngine.java
@@ -28,8 +28,8 @@ public interface BroadcastRouteEngine {
     /**
      * Route.
      *
-     * @param broadcastRule broadcast rule
+     * @param rule broadcast rule
      * @return route context
      */
-    RouteContext route(BroadcastRule broadcastRule);
+    RouteContext route(BroadcastRule rule);
 }
diff --git 
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/engine/type/unicast/BroadcastUnicastRouteEngine.java
 
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/engine/type/unicast/BroadcastUnicastRouteEngine.java
index aa4472cc34f..c028c86608a 100644
--- 
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/engine/type/unicast/BroadcastUnicastRouteEngine.java
+++ 
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/route/engine/type/unicast/BroadcastUnicastRouteEngine.java
@@ -20,6 +20,7 @@ package 
org.apache.shardingsphere.broadcast.route.engine.type.unicast;
 import lombok.RequiredArgsConstructor;
 import 
org.apache.shardingsphere.broadcast.route.engine.type.BroadcastRouteEngine;
 import org.apache.shardingsphere.broadcast.rule.BroadcastRule;
+import org.apache.shardingsphere.infra.annotation.HighFrequencyInvocation;
 import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
 import 
org.apache.shardingsphere.infra.binder.context.statement.ddl.AlterViewStatementContext;
 import 
org.apache.shardingsphere.infra.binder.context.statement.ddl.CreateViewStatementContext;
@@ -39,6 +40,7 @@ import java.util.concurrent.ThreadLocalRandom;
 /**
  * Broadcast unicast route engine.
  */
+@HighFrequencyInvocation
 @RequiredArgsConstructor
 public final class BroadcastUnicastRouteEngine implements BroadcastRouteEngine 
{
     
@@ -51,12 +53,11 @@ public final class BroadcastUnicastRouteEngine implements 
BroadcastRouteEngine {
     @Override
     public RouteContext route(final BroadcastRule rule) {
         RouteContext result = new RouteContext();
-        RouteMapper dataSourceMapper = 
getDataSourceRouteMapper(rule.getDataSourceNames());
-        result.getRouteUnits().add(new RouteUnit(dataSourceMapper, 
createTableRouteMappers()));
+        result.getRouteUnits().add(new 
RouteUnit(createDataSourceRouteMapper(rule.getDataSourceNames()), 
createTableRouteMappers()));
         return result;
     }
     
-    private RouteMapper getDataSourceRouteMapper(final Collection<String> 
dataSourceNames) {
+    private RouteMapper createDataSourceRouteMapper(final Collection<String> 
dataSourceNames) {
         String dataSourceName = getDataSourceName(dataSourceNames);
         return new RouteMapper(dataSourceName, dataSourceName);
     }

Reply via email to