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 8488d6e4113 Remove unnecessary BroadcastDatabaseBackendHandler (#18752)
8488d6e4113 is described below

commit 8488d6e41139546f397b6939d26340b940f91116
Author: 吴伟杰 <[email protected]>
AuthorDate: Fri Jul 1 14:15:00 2022 +0800

    Remove unnecessary BroadcastDatabaseBackendHandler (#18752)
    
    * Remove unnecessary BroadcastDatabaseBackendHandler
    
    * Complete TextProtocolBackendHandlerFactoryTest
---
 .../text/data/DatabaseBackendHandlerFactory.java   |  20 +++-
 .../data/impl/BroadcastDatabaseBackendHandler.java |  90 ----------------
 .../TransactionBackendHandlerFactory.java          |   8 +-
 .../TextProtocolBackendHandlerFactoryTest.java     |   4 +-
 .../data/DatabaseBackendHandlerFactoryTest.java    |  11 --
 .../impl/BroadcastDatabaseBackendHandlerTest.java  | 119 ---------------------
 .../TransactionBackendHandlerFactoryTest.java      |   4 +-
 7 files changed, 25 insertions(+), 231 deletions(-)

diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/data/DatabaseBackendHandlerFactory.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/data/DatabaseBackendHandlerFactory.java
index 8f63caeb80d..5e4348f8469 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/data/DatabaseBackendHandlerFactory.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/data/DatabaseBackendHandlerFactory.java
@@ -17,11 +17,13 @@
 
 package org.apache.shardingsphere.proxy.backend.text.data;
 
+import io.vertx.core.Future;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
+import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
+import 
org.apache.shardingsphere.proxy.backend.response.header.update.UpdateResponseHeader;
 import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
-import 
org.apache.shardingsphere.proxy.backend.text.data.impl.BroadcastDatabaseBackendHandler;
 import 
org.apache.shardingsphere.proxy.backend.text.data.impl.SchemaAssignedDatabaseBackendHandler;
 import 
org.apache.shardingsphere.proxy.backend.text.data.impl.UnicastDatabaseBackendHandler;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
@@ -49,8 +51,20 @@ public final class DatabaseBackendHandlerFactory {
         if (sqlStatement instanceof DoStatement) {
             return new UnicastDatabaseBackendHandler(sqlStatementContext, sql, 
connectionSession);
         }
-        if (sqlStatement instanceof SetStatement) {
-            return new BroadcastDatabaseBackendHandler(sqlStatementContext, 
sql, connectionSession);
+        if (sqlStatement instanceof SetStatement && null == 
connectionSession.getDatabaseName()) {
+            // TODO Handle SET GLOBAL and SET SESSION differently
+            return new DatabaseBackendHandler() {
+                
+                @Override
+                public Future<ResponseHeader> executeFuture() {
+                    return Future.succeededFuture(new 
UpdateResponseHeader(sqlStatement));
+                }
+                
+                @Override
+                public ResponseHeader execute() {
+                    return new UpdateResponseHeader(sqlStatement);
+                }
+            };
         }
         if (sqlStatement instanceof DALStatement || (sqlStatement instanceof 
SelectStatement && null == ((SelectStatement) sqlStatement).getFrom())) {
             return new UnicastDatabaseBackendHandler(sqlStatementContext, sql, 
connectionSession);
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/data/impl/BroadcastDatabaseBackendHandler.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/data/impl/BroadcastDatabaseBackendHandler.java
deleted file mode 100644
index f2fc41d4a37..00000000000
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/data/impl/BroadcastDatabaseBackendHandler.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.proxy.backend.text.data.impl;
-
-import io.vertx.core.CompositeFuture;
-import io.vertx.core.Future;
-import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
-import 
org.apache.shardingsphere.proxy.backend.communication.DatabaseCommunicationEngineFactory;
-import 
org.apache.shardingsphere.proxy.backend.communication.vertx.VertxDatabaseCommunicationEngine;
-import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
-import 
org.apache.shardingsphere.proxy.backend.exception.ResourceNotExistedException;
-import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
-import 
org.apache.shardingsphere.proxy.backend.response.header.update.UpdateResponseHeader;
-import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
-import 
org.apache.shardingsphere.proxy.backend.text.data.DatabaseBackendHandler;
-
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Optional;
-import java.util.stream.Collectors;
-
-/**
- * Backend handler for broadcast.
- */
-@RequiredArgsConstructor
-public final class BroadcastDatabaseBackendHandler implements 
DatabaseBackendHandler {
-    
-    private final DatabaseCommunicationEngineFactory 
databaseCommunicationEngineFactory = 
DatabaseCommunicationEngineFactory.getInstance();
-    
-    private final SQLStatementContext<?> sqlStatementContext;
-    
-    private final String sql;
-    
-    private final ConnectionSession connectionSession;
-    
-    @SuppressWarnings("rawtypes")
-    @Override
-    public Future<ResponseHeader> executeFuture() {
-        List<String> databaseNames = 
getDatabaseNamesWithDataSource().orElseThrow(ResourceNotExistedException::new);
-        String originalDatabase = connectionSession.getDatabaseName();
-        List<Future> futures = new ArrayList<>(databaseNames.size());
-        for (String each : databaseNames) {
-            connectionSession.setCurrentDatabase(each);
-            
futures.add(databaseCommunicationEngineFactory.<VertxDatabaseCommunicationEngine>newTextProtocolInstance(sqlStatementContext,
 sql, connectionSession.getBackendConnection()).execute());
-        }
-        return CompositeFuture.all(futures)
-                .compose(unused -> Future.succeededFuture((ResponseHeader) new 
UpdateResponseHeader(sqlStatementContext.getSqlStatement())))
-                .eventually(unused -> {
-                    connectionSession.setCurrentDatabase(originalDatabase);
-                    return Future.succeededFuture();
-                });
-    }
-    
-    @Override
-    public ResponseHeader execute() throws SQLException {
-        List<String> databaseNames = 
getDatabaseNamesWithDataSource().orElseThrow(ResourceNotExistedException::new);
-        String originalDatabase = connectionSession.getDatabaseName();
-        try {
-            for (String each : databaseNames) {
-                connectionSession.setCurrentDatabase(each);
-                
databaseCommunicationEngineFactory.newTextProtocolInstance(sqlStatementContext, 
sql, connectionSession.getBackendConnection()).execute();
-            }
-        } finally {
-            connectionSession.setCurrentDatabase(originalDatabase);
-        }
-        return new UpdateResponseHeader(sqlStatementContext.getSqlStatement());
-    }
-    
-    private Optional<List<String>> getDatabaseNamesWithDataSource() {
-        List<String> result = 
ProxyContext.getInstance().getAllDatabaseNames().stream().filter(each -> 
ProxyContext.getInstance().getDatabase(each).hasDataSource()).collect(Collectors.toList());
-        return Optional.of(result).filter(each -> !each.isEmpty());
-    }
-}
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/transaction/TransactionBackendHandlerFactory.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/transaction/TransactionBackendHandlerFactory.java
index e8224493f29..3ba2526aa5e 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/transaction/TransactionBackendHandlerFactory.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/transaction/TransactionBackendHandlerFactory.java
@@ -22,16 +22,16 @@ import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
 import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
 import org.apache.shardingsphere.proxy.backend.text.TextProtocolBackendHandler;
-import 
org.apache.shardingsphere.proxy.backend.text.data.impl.BroadcastDatabaseBackendHandler;
+import 
org.apache.shardingsphere.proxy.backend.text.data.impl.SchemaAssignedDatabaseBackendHandler;
 import org.apache.shardingsphere.sql.parser.sql.common.constant.OperationScope;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.tcl.BeginTransactionStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.tcl.SetTransactionStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.tcl.StartTransactionStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.tcl.CommitStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.tcl.ReleaseSavepointStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.tcl.RollbackStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.tcl.SavepointStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.tcl.SetAutoCommitStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.tcl.SetTransactionStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.tcl.StartTransactionStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.tcl.TCLStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.tcl.XAStatement;
 import org.apache.shardingsphere.transaction.core.TransactionOperationType;
@@ -78,6 +78,6 @@ public final class TransactionBackendHandlerFactory {
         if (tclStatement instanceof XAStatement) {
             return new TransactionXAHandler(sqlStatementContext, sql, 
connectionSession);
         }
-        return new BroadcastDatabaseBackendHandler(sqlStatementContext, sql, 
connectionSession);
+        return new SchemaAssignedDatabaseBackendHandler(sqlStatementContext, 
sql, connectionSession);
     }
 }
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/TextProtocolBackendHandlerFactoryTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/TextProtocolBackendHandlerFactoryTest.java
index f733cf66dfe..2e1643cf73f 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/TextProtocolBackendHandlerFactoryTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/TextProtocolBackendHandlerFactoryTest.java
@@ -32,7 +32,7 @@ import 
org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
 import 
org.apache.shardingsphere.proxy.backend.text.admin.DatabaseAdminQueryBackendHandler;
 import 
org.apache.shardingsphere.proxy.backend.text.admin.DatabaseAdminUpdateBackendHandler;
-import 
org.apache.shardingsphere.proxy.backend.text.data.impl.BroadcastDatabaseBackendHandler;
+import 
org.apache.shardingsphere.proxy.backend.text.data.DatabaseBackendHandler;
 import 
org.apache.shardingsphere.proxy.backend.text.data.impl.SchemaAssignedDatabaseBackendHandler;
 import 
org.apache.shardingsphere.proxy.backend.text.data.impl.UnicastDatabaseBackendHandler;
 import 
org.apache.shardingsphere.proxy.backend.text.distsql.ral.QueryableRALBackendHandler;
@@ -191,7 +191,7 @@ public final class TextProtocolBackendHandlerFactoryTest 
extends ProxyContextRes
         
when(proxyContext.getContextManager().getMetaDataContexts().getMetaData().getDatabases().containsKey("schema")).thenReturn(true);
         
when(proxyContext.getDatabase("schema").hasDataSource()).thenReturn(true);
         TextProtocolBackendHandler actual = 
TextProtocolBackendHandlerFactory.newInstance(databaseType, sql, 
Optional::empty, connectionSession);
-        assertThat(actual, instanceOf(BroadcastDatabaseBackendHandler.class));
+        assertThat(actual, instanceOf(DatabaseBackendHandler.class));
     }
     
     @Test
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/DatabaseBackendHandlerFactoryTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/DatabaseBackendHandlerFactoryTest.java
index 2b3bcd15898..ff82e73d0ac 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/DatabaseBackendHandlerFactoryTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/DatabaseBackendHandlerFactoryTest.java
@@ -19,12 +19,10 @@ package org.apache.shardingsphere.proxy.backend.text.data;
 
 import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
 import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
-import 
org.apache.shardingsphere.proxy.backend.text.data.impl.BroadcastDatabaseBackendHandler;
 import 
org.apache.shardingsphere.proxy.backend.text.data.impl.SchemaAssignedDatabaseBackendHandler;
 import 
org.apache.shardingsphere.proxy.backend.text.data.impl.UnicastDatabaseBackendHandler;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.SetStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
 import org.junit.Test;
 
@@ -35,15 +33,6 @@ import static org.mockito.Mockito.when;
 
 public final class DatabaseBackendHandlerFactoryTest {
     
-    @Test
-    public void assertNewInstanceReturnedBroadcastDatabaseBackendHandler() {
-        String sql = "SET a=1";
-        SQLStatementContext<SetStatement> context = 
mock(SQLStatementContext.class);
-        when(context.getSqlStatement()).thenReturn(mock(SetStatement.class));
-        DatabaseBackendHandler actual = 
DatabaseBackendHandlerFactory.newInstance(context, sql, 
mock(ConnectionSession.class));
-        assertThat(actual, instanceOf(BroadcastDatabaseBackendHandler.class));
-    }
-    
     @Test
     public void 
assertNewInstanceReturnedUnicastDatabaseBackendHandlerWithDAL() {
         String sql = "DESC tbl";
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/BroadcastDatabaseBackendHandlerTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/BroadcastDatabaseBackendHandlerTest.java
deleted file mode 100644
index 6f46fd38fb7..00000000000
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/BroadcastDatabaseBackendHandlerTest.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.proxy.backend.text.data.impl;
-
-import lombok.SneakyThrows;
-import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
-import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
-import org.apache.shardingsphere.infra.database.type.dialect.H2DatabaseType;
-import 
org.apache.shardingsphere.infra.federation.optimizer.context.OptimizerContext;
-import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
-import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import 
org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
-import org.apache.shardingsphere.mode.manager.ContextManager;
-import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
-import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
-import 
org.apache.shardingsphere.proxy.backend.communication.DatabaseCommunicationEngine;
-import 
org.apache.shardingsphere.proxy.backend.communication.DatabaseCommunicationEngineFactory;
-import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
-import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
-import 
org.apache.shardingsphere.proxy.backend.response.header.update.UpdateResponseHeader;
-import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
-
-import java.lang.reflect.Field;
-import java.sql.SQLException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-import static org.hamcrest.CoreMatchers.instanceOf;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-@RunWith(MockitoJUnitRunner.class)
-public final class BroadcastDatabaseBackendHandlerTest {
-    
-    private static final String DATABASE_PATTERN = "db_%s";
-    
-    @Mock
-    private ConnectionSession connectionSession;
-    
-    @Mock
-    private DatabaseCommunicationEngineFactory 
databaseCommunicationEngineFactory;
-    
-    @Mock
-    private DatabaseCommunicationEngine databaseCommunicationEngine;
-    
-    @Before
-    public void setUp() {
-        ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
-        MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class),
-                new ShardingSphereMetaData(getDatabases(), 
mock(ShardingSphereRuleMetaData.class), new ConfigurationProperties(new 
Properties())), mock(OptimizerContext.class));
-        
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
-        ProxyContext.init(contextManager);
-        
when(connectionSession.getDatabaseName()).thenReturn(String.format(DATABASE_PATTERN,
 0));
-    }
-    
-    @Test
-    public void assertExecuteSuccess() throws SQLException {
-        mockDatabaseCommunicationEngine(new 
UpdateResponseHeader(mock(SQLStatement.class)));
-        BroadcastDatabaseBackendHandler broadcastBackendHandler = new 
BroadcastDatabaseBackendHandler(mock(SQLStatementContext.class), "SET timeout = 
1000", connectionSession);
-        setBackendHandlerFactory(broadcastBackendHandler);
-        ResponseHeader actual = broadcastBackendHandler.execute();
-        assertThat(actual, instanceOf(UpdateResponseHeader.class));
-        assertThat(((UpdateResponseHeader) actual).getUpdateCount(), is(0L));
-        assertThat(((UpdateResponseHeader) actual).getLastInsertId(), is(0L));
-        verify(databaseCommunicationEngine, times(10)).execute();
-    }
-    
-    private Map<String, ShardingSphereDatabase> getDatabases() {
-        Map<String, ShardingSphereDatabase> result = new HashMap<>(10, 1);
-        for (int i = 0; i < 10; i++) {
-            ShardingSphereDatabase database = 
mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
-            when(database.hasDataSource()).thenReturn(true);
-            when(database.getResource().getDatabaseType()).thenReturn(new 
H2DatabaseType());
-            result.put(String.format(DATABASE_PATTERN, i), database);
-        }
-        return result;
-    }
-    
-    private void mockDatabaseCommunicationEngine(final ResponseHeader 
responseHeader) {
-        when(databaseCommunicationEngine.execute()).thenReturn(responseHeader);
-        when(databaseCommunicationEngineFactory.newTextProtocolInstance(any(), 
anyString(), any())).thenReturn(databaseCommunicationEngine);
-    }
-    
-    @SneakyThrows(ReflectiveOperationException.class)
-    private void setBackendHandlerFactory(final 
BroadcastDatabaseBackendHandler schemaBroadcastBackendHandler) {
-        Field field = 
schemaBroadcastBackendHandler.getClass().getDeclaredField("databaseCommunicationEngineFactory");
-        field.setAccessible(true);
-        field.set(schemaBroadcastBackendHandler, 
databaseCommunicationEngineFactory);
-    }
-}
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/transaction/TransactionBackendHandlerFactoryTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/transaction/TransactionBackendHandlerFactoryTest.java
index 04f7a2ad7de..f6114c60fec 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/transaction/TransactionBackendHandlerFactoryTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/transaction/TransactionBackendHandlerFactoryTest.java
@@ -26,7 +26,7 @@ import 
org.apache.shardingsphere.proxy.backend.communication.jdbc.transaction.JD
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
 import org.apache.shardingsphere.proxy.backend.text.TextProtocolBackendHandler;
-import 
org.apache.shardingsphere.proxy.backend.text.data.impl.BroadcastDatabaseBackendHandler;
+import 
org.apache.shardingsphere.proxy.backend.text.data.impl.SchemaAssignedDatabaseBackendHandler;
 import org.apache.shardingsphere.proxy.backend.util.ProxyContextRestorer;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.tcl.CommitStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.tcl.RollbackStatement;
@@ -92,7 +92,7 @@ public final class TransactionBackendHandlerFactoryTest 
extends ProxyContextRest
     public void assertBroadcastBackendHandlerReturnedWhenTCLStatementNotHit() {
         SQLStatementContext<TCLStatement> context = 
mock(SQLStatementContext.class);
         when(context.getSqlStatement()).thenReturn(mock(TCLStatement.class));
-        assertThat(TransactionBackendHandlerFactory.newInstance(context, null, 
mock(ConnectionSession.class)), 
instanceOf(BroadcastDatabaseBackendHandler.class));
+        assertThat(TransactionBackendHandlerFactory.newInstance(context, null, 
mock(ConnectionSession.class)), 
instanceOf(SchemaAssignedDatabaseBackendHandler.class));
     }
     
     @SuppressWarnings("unchecked")

Reply via email to