This is an automated email from the ASF dual-hosted git repository.
kimmking 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 1bb0cd2 Try to get lock before DDL execution (#8472)
1bb0cd2 is described below
commit 1bb0cd2097ee3c223d686be10887650121c210d7
Author: Haoran Meng <[email protected]>
AuthorDate: Wed Dec 2 17:59:26 2020 +0800
Try to get lock before DDL execution (#8472)
---
.../metadata/GovernanceMetaDataContexts.java | 20 +++++++-----
.../metadata/GovernanceMetaDataContextsTest.java | 5 +++
.../core}/lock/GovernanceLockStrategy.java | 7 +++--
.../governance/core/lock/LockCenter.java | 4 ++-
.../shardingsphere/infra/lock/LockContext.java | 24 +++++++--------
.../shardingsphere/infra/lock/LockStrategy.java | 6 ++--
.../infra}/lock/StandardLockStrategy.java | 13 +++++---
.../communication/DatabaseCommunicationEngine.java | 36 ++++++++++++++++------
.../exception/LockWaitTimeoutException.java} | 18 +++--------
.../impl/AbstractBootstrapInitializer.java | 4 +--
.../impl/GovernanceBootstrapInitializer.java | 8 ++---
.../impl/StandardBootstrapInitializer.java | 8 ++---
12 files changed, 88 insertions(+), 65 deletions(-)
diff --git
a/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContexts.java
b/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContexts.java
index 087cbe6..a80b921 100644
---
a/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContexts.java
+++
b/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContexts.java
@@ -202,15 +202,19 @@ public final class GovernanceMetaDataContexts implements
MetaDataContexts {
*/
@Subscribe
public synchronized void renew(final SchemaChangedEvent event) {
- Map<String, ShardingSphereMetaData> newMetaDataMap = new
HashMap<>(metaDataContexts.getMetaDataMap().size(), 1);
- for (Entry<String, ShardingSphereMetaData> entry :
metaDataContexts.getMetaDataMap().entrySet()) {
- String schemaName = entry.getKey();
- ShardingSphereMetaData oldMetaData = entry.getValue();
- ShardingSphereMetaData newMetaData =
event.getSchemaName().equals(schemaName) ? getChangedMetaData(oldMetaData,
event.getSchema(), schemaName) : oldMetaData;
- newMetaDataMap.put(schemaName, newMetaData);
+ try {
+ Map<String, ShardingSphereMetaData> newMetaDataMap = new
HashMap<>(metaDataContexts.getMetaDataMap().size(), 1);
+ for (Entry<String, ShardingSphereMetaData> entry :
metaDataContexts.getMetaDataMap().entrySet()) {
+ String schemaName = entry.getKey();
+ ShardingSphereMetaData oldMetaData = entry.getValue();
+ ShardingSphereMetaData newMetaData =
event.getSchemaName().equals(schemaName) ? getChangedMetaData(oldMetaData,
event.getSchema(), schemaName) : oldMetaData;
+ newMetaDataMap.put(schemaName, newMetaData);
+ }
+ metaDataContexts = new StandardMetaDataContexts(
+ newMetaDataMap, metaDataContexts.getExecutorEngine(),
metaDataContexts.getAuthentication(), metaDataContexts.getProps(),
metaDataContexts.getDatabaseType());
+ } finally {
+ governanceFacade.getLockCenter().unlock();
}
- metaDataContexts = new StandardMetaDataContexts(
- newMetaDataMap, metaDataContexts.getExecutorEngine(),
metaDataContexts.getAuthentication(), metaDataContexts.getProps(),
metaDataContexts.getDatabaseType());
}
/**
diff --git
a/shardingsphere-governance/shardingsphere-governance-context/src/test/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContextsTest.java
b/shardingsphere-governance/shardingsphere-governance-context/src/test/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContextsTest.java
index f62090b..9aeef51 100644
---
a/shardingsphere-governance/shardingsphere-governance-context/src/test/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContextsTest.java
+++
b/shardingsphere-governance/shardingsphere-governance-context/src/test/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContextsTest.java
@@ -26,6 +26,7 @@ import
org.apache.shardingsphere.governance.core.event.model.props.PropertiesCha
import
org.apache.shardingsphere.governance.core.event.model.rule.RuleConfigurationsChangedEvent;
import
org.apache.shardingsphere.governance.core.event.model.schema.SchemaChangedEvent;
import org.apache.shardingsphere.governance.core.facade.GovernanceFacade;
+import org.apache.shardingsphere.governance.core.lock.LockCenter;
import org.apache.shardingsphere.governance.core.registry.RegistryCenter;
import
org.apache.shardingsphere.governance.core.registry.event.DisabledStateChangedEvent;
import
org.apache.shardingsphere.governance.core.registry.schema.GovernanceSchema;
@@ -90,6 +91,9 @@ public final class GovernanceMetaDataContextsTest {
@Mock
private ConfigCenter configCenter;
+ @Mock
+ private LockCenter lockCenter;
+
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private ShardingSphereMetaData metaData;
@@ -104,6 +108,7 @@ public final class GovernanceMetaDataContextsTest {
when(databaseType.getDataSourceMetaData(any(),
any())).thenReturn(mock(DataSourceMetaData.class));
when(governanceFacade.getRegistryCenter()).thenReturn(registryCenter);
when(governanceFacade.getConfigCenter()).thenReturn(configCenter);
+ when(governanceFacade.getLockCenter()).thenReturn(lockCenter);
when(registryCenter.loadDisabledDataSources("schema")).thenReturn(Collections.singletonList("schema.ds_1"));
governanceMetaDataContexts = new GovernanceMetaDataContexts(
new StandardMetaDataContexts(createMetaDataMap(),
mock(ExecutorEngine.class), authentication, props, databaseType),
governanceFacade);
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/lock/GovernanceLockStrategy.java
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/GovernanceLockStrategy.java
similarity index 86%
rename from
shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/lock/GovernanceLockStrategy.java
rename to
shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/GovernanceLockStrategy.java
index ca03b01..fa570e2 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/lock/GovernanceLockStrategy.java
+++
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/GovernanceLockStrategy.java
@@ -15,14 +15,15 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.proxy.lock;
+package org.apache.shardingsphere.governance.core.lock;
import org.apache.shardingsphere.governance.core.facade.GovernanceFacade;
+import org.apache.shardingsphere.infra.lock.LockStrategy;
/**
- * Governance proxy lock strategy.
+ * Governance lock strategy.
*/
-public final class GovernanceLockStrategy implements ProxyLockStrategy {
+public final class GovernanceLockStrategy implements LockStrategy {
private final GovernanceFacade governanceFacade;
diff --git
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/LockCenter.java
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/LockCenter.java
index 73636c61..9dadeef 100644
---
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/LockCenter.java
+++
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/LockCenter.java
@@ -67,7 +67,9 @@ public final class LockCenter {
* Unlock instance.
*/
public void unlock() {
-
registryCenter.persistInstanceData(governedState.recoverState().toString());
+ if
(governedState.getState().toString().equalsIgnoreCase(RegistryCenterNodeStatus.LOCKED.toString()))
{
+
registryCenter.persistInstanceData(governedState.recoverState().toString());
+ }
}
/**
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/lock/ProxyLockContext.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/lock/LockContext.java
similarity index 63%
rename from
shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/lock/ProxyLockContext.java
rename to
shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/lock/LockContext.java
index afbffe3..cb5a258 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/lock/ProxyLockContext.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/lock/LockContext.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.proxy.lock;
+package org.apache.shardingsphere.infra.lock;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
@@ -23,28 +23,28 @@ import lombok.NoArgsConstructor;
import java.util.concurrent.atomic.AtomicReference;
/**
- * Proxy lock context.
+ * Lock context.
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class ProxyLockContext {
+public final class LockContext {
- private static final AtomicReference<ProxyLockStrategy>
PROXY_LOCK_STRATEGY = new AtomicReference<>();
+ private static final AtomicReference<LockStrategy> LOCK_STRATEGY = new
AtomicReference<>();
/**
- * Init proxy lock strategy.
+ * Init lock strategy.
*
- * @param proxyLockStrategy proxy lock strategy
+ * @param lockStrategy lock strategy
*/
- public static void init(final ProxyLockStrategy proxyLockStrategy) {
- PROXY_LOCK_STRATEGY.set(proxyLockStrategy);
+ public static void init(final LockStrategy lockStrategy) {
+ LOCK_STRATEGY.set(lockStrategy);
}
/**
- * Get proxy lock strategy.
+ * Get lock strategy.
*
- * @return proxy lock strategy
+ * @return lock strategy
*/
- public static ProxyLockStrategy getProxyLockStrategy() {
- return PROXY_LOCK_STRATEGY.get();
+ public static LockStrategy getLockStrategy() {
+ return LOCK_STRATEGY.get();
}
}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/lock/ProxyLockStrategy.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/lock/LockStrategy.java
similarity index 90%
copy from
shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/lock/ProxyLockStrategy.java
copy to
shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/lock/LockStrategy.java
index 1090736..2f67c31 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/lock/ProxyLockStrategy.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/lock/LockStrategy.java
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.proxy.lock;
+package org.apache.shardingsphere.infra.lock;
/**
- * Proxy lock strategy.
+ * Lock strategy.
*/
-public interface ProxyLockStrategy {
+public interface LockStrategy {
/**
* Try to get lock.
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/lock/StandardLockStrategy.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/lock/StandardLockStrategy.java
similarity index 77%
rename from
shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/lock/StandardLockStrategy.java
rename to
shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/lock/StandardLockStrategy.java
index d6503ac..b889313 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/lock/StandardLockStrategy.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/lock/StandardLockStrategy.java
@@ -15,21 +15,24 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.proxy.lock;
+package org.apache.shardingsphere.infra.lock;
+
+import java.util.concurrent.locks.ReentrantLock;
/**
* Standard lock strategy.
*/
-public final class StandardLockStrategy implements ProxyLockStrategy {
+public final class StandardLockStrategy implements LockStrategy {
+
+ private final ReentrantLock lock = new ReentrantLock();
@Override
public boolean tryLock() {
- // TODO
- return false;
+ return lock.tryLock();
}
@Override
public void releaseLock() {
- // TODO
+ lock.unlock();
}
}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngine.java
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngine.java
index 3ba3699..f21fd20 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngine.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngine.java
@@ -18,17 +18,20 @@
package org.apache.shardingsphere.proxy.backend.communication;
import lombok.RequiredArgsConstructor;
+import
org.apache.shardingsphere.governance.core.event.model.schema.SchemaPersistEvent;
import org.apache.shardingsphere.infra.binder.LogicSQL;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import
org.apache.shardingsphere.infra.binder.statement.dml.SelectStatementContext;
import
org.apache.shardingsphere.infra.config.properties.ConfigurationPropertyKey;
import org.apache.shardingsphere.infra.context.kernel.KernelProcessor;
+import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.infra.executor.sql.context.ExecutionContext;
import
org.apache.shardingsphere.infra.executor.sql.execute.result.ExecuteResult;
import
org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
import
org.apache.shardingsphere.infra.executor.sql.execute.result.update.UpdateResult;
import org.apache.shardingsphere.infra.executor.sql.log.SQLLogger;
import
org.apache.shardingsphere.infra.executor.sql.prepare.driver.jdbc.JDBCDriverType;
+import org.apache.shardingsphere.infra.lock.LockContext;
import org.apache.shardingsphere.infra.merge.MergeEngine;
import org.apache.shardingsphere.infra.merge.result.MergedResult;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
@@ -36,11 +39,10 @@ import
org.apache.shardingsphere.infra.metadata.schema.ShardingSphereSchema;
import
org.apache.shardingsphere.infra.metadata.schema.builder.SchemaBuilderMaterials;
import
org.apache.shardingsphere.infra.metadata.schema.refresher.SchemaRefresher;
import
org.apache.shardingsphere.infra.metadata.schema.refresher.SchemaRefresherFactory;
-import
org.apache.shardingsphere.infra.metadata.schema.refresher.spi.SchemaChangedNotifier;
import org.apache.shardingsphere.infra.rule.type.DataNodeContainedRule;
-import org.apache.shardingsphere.infra.spi.ordered.OrderedSPIRegistry;
import
org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.BackendConnection;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
+import
org.apache.shardingsphere.proxy.backend.exception.LockWaitTimeoutException;
import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseCell;
import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseRow;
import
org.apache.shardingsphere.proxy.backend.response.data.impl.BinaryQueryResponseCell;
@@ -55,7 +57,6 @@ import
org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
@@ -110,6 +111,9 @@ public final class DatabaseCommunicationEngine {
if (executionContext.getExecutionUnits().isEmpty()) {
return new
UpdateResponseHeader(executionContext.getSqlStatementContext().getSqlStatement());
}
+ if (needLock(executionContext) &&
!LockContext.getLockStrategy().tryLock()) {
+ throw new LockWaitTimeoutException();
+ }
proxySQLExecutor.checkExecutePrerequisites(executionContext);
Collection<ExecuteResult> executeResults =
proxySQLExecutor.execute(executionContext);
ExecuteResult executeResultSample = executeResults.iterator().next();
@@ -118,6 +122,14 @@ public final class DatabaseCommunicationEngine {
: processExecuteUpdate(executionContext,
executeResults.stream().map(each -> (UpdateResult)
each).collect(Collectors.toList()));
}
+ private boolean needLock(final ExecutionContext executionContext) {
+ SQLStatement sqlStatement =
executionContext.getSqlStatementContext().getSqlStatement();
+ if (null == sqlStatement) {
+ return false;
+ }
+ return SchemaRefresherFactory.newInstance(sqlStatement).isPresent();
+ }
+
private QueryResponseHeader processExecuteQuery(final ExecutionContext
executionContext, final List<QueryResult> queryResults, final QueryResult
queryResultSample) throws SQLException {
queryHeaders = createQueryHeaders(executionContext, queryResultSample);
mergedResult = mergeQuery(executionContext.getSqlStatementContext(),
queryResults);
@@ -165,16 +177,22 @@ public final class DatabaseCommunicationEngine {
}
Optional<SchemaRefresher> schemaRefresher =
SchemaRefresherFactory.newInstance(sqlStatement);
if (schemaRefresher.isPresent()) {
- Collection<String> routeDataSourceNames =
executionContext.getRouteContext().getRouteUnits().stream().map(each ->
each.getDataSourceMapper().getLogicName()).collect(Collectors.toList());
- SchemaBuilderMaterials materials = new
SchemaBuilderMaterials(ProxyContext.getInstance().getMetaDataContexts().getDatabaseType(),
- metaData.getResource().getDataSources(),
metaData.getRuleMetaData().getRules(),
ProxyContext.getInstance().getMetaDataContexts().getProps());
- schemaRefresher.get().refresh(metaData.getSchema(),
routeDataSourceNames, sqlStatement, materials);
- notifySchemaChanged(metaData.getName(), metaData.getSchema());
+ try {
+ Collection<String> routeDataSourceNames =
executionContext.getRouteContext().getRouteUnits().stream()
+ .map(each ->
each.getDataSourceMapper().getLogicName()).collect(Collectors.toList());
+ SchemaBuilderMaterials materials = new
SchemaBuilderMaterials(ProxyContext.getInstance().getMetaDataContexts().getDatabaseType(),
+ metaData.getResource().getDataSources(),
metaData.getRuleMetaData().getRules(),
ProxyContext.getInstance().getMetaDataContexts().getProps());
+ schemaRefresher.get().refresh(metaData.getSchema(),
routeDataSourceNames, sqlStatement, materials);
+ notifySchemaChanged(metaData.getName(), metaData.getSchema());
+ } finally {
+ LockContext.getLockStrategy().releaseLock();
+ }
}
}
private void notifySchemaChanged(final String schemaName, final
ShardingSphereSchema schema) {
-
OrderedSPIRegistry.getRegisteredServices(Collections.singletonList(schema),
SchemaChangedNotifier.class).values().forEach(each -> each.notify(schemaName,
schema));
+ // TODO need check
+ ShardingSphereEventBus.getInstance().post(new
SchemaPersistEvent(schemaName, schema));
}
private void mergeUpdateCount(final SQLStatementContext<?>
sqlStatementContext, final UpdateResponseHeader response) {
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/lock/ProxyLockStrategy.java
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/exception/LockWaitTimeoutException.java
similarity index 73%
rename from
shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/lock/ProxyLockStrategy.java
rename to
shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/exception/LockWaitTimeoutException.java
index 1090736..f968c05 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/lock/ProxyLockStrategy.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/exception/LockWaitTimeoutException.java
@@ -15,22 +15,12 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.proxy.lock;
+package org.apache.shardingsphere.proxy.backend.exception;
/**
- * Proxy lock strategy.
+ * Lock wait timeout exception.
*/
-public interface ProxyLockStrategy {
+public final class LockWaitTimeoutException extends BackendException {
- /**
- * Try to get lock.
- *
- * @return true if get the lock, false if not
- */
- boolean tryLock();
-
- /**
- * Release lock.
- */
- void releaseLock();
+ private static final long serialVersionUID = 2599713085782288003L;
}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializer.java
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializer.java
index e28c453..8bac5a5 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializer.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializer.java
@@ -65,7 +65,7 @@ public abstract class AbstractBootstrapInitializer implements
BootstrapInitializ
ProxyContext.getInstance().init(metaDataContexts, transactionContexts);
initOpenTracing();
setDatabaseServerInfo();
- initProxyLockContext();
+ initLockContext();
shardingSphereProxy.start(port);
}
@@ -129,5 +129,5 @@ public abstract class AbstractBootstrapInitializer
implements BootstrapInitializ
protected abstract TransactionContexts
decorateTransactionContexts(TransactionContexts transactionContexts);
- protected abstract void initProxyLockContext();
+ protected abstract void initLockContext();
}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
index 94508bb..755f09b 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.proxy.initializer.impl;
import
org.apache.shardingsphere.governance.context.metadata.GovernanceMetaDataContexts;
import
org.apache.shardingsphere.governance.context.transaction.GovernanceTransactionContexts;
import org.apache.shardingsphere.governance.core.facade.GovernanceFacade;
+import org.apache.shardingsphere.governance.core.lock.GovernanceLockStrategy;
import
org.apache.shardingsphere.governance.core.yaml.swapper.GovernanceConfigurationYamlSwapper;
import org.apache.shardingsphere.infra.auth.Authentication;
import
org.apache.shardingsphere.infra.auth.yaml.config.YamlAuthenticationConfiguration;
@@ -28,6 +29,7 @@ import
org.apache.shardingsphere.infra.config.RuleConfiguration;
import
org.apache.shardingsphere.infra.config.datasource.DataSourceConfiguration;
import org.apache.shardingsphere.infra.config.datasource.DataSourceParameter;
import org.apache.shardingsphere.infra.context.metadata.MetaDataContexts;
+import org.apache.shardingsphere.infra.lock.LockContext;
import
org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapperEngine;
import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
import org.apache.shardingsphere.proxy.config.ProxyConfigurationUpdater;
@@ -35,8 +37,6 @@ import
org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
import
org.apache.shardingsphere.proxy.config.util.DataSourceParameterConverter;
import org.apache.shardingsphere.proxy.config.yaml.YamlProxyRuleConfiguration;
import
org.apache.shardingsphere.proxy.config.yaml.YamlProxyServerConfiguration;
-import org.apache.shardingsphere.proxy.lock.GovernanceLockStrategy;
-import org.apache.shardingsphere.proxy.lock.ProxyLockContext;
import org.apache.shardingsphere.transaction.context.TransactionContexts;
import java.util.Collection;
@@ -125,7 +125,7 @@ public final class GovernanceBootstrapInitializer extends
AbstractBootstrapIniti
}
@Override
- protected void initProxyLockContext() {
- ProxyLockContext.init(new GovernanceLockStrategy(governanceFacade));
+ protected void initLockContext() {
+ LockContext.init(new GovernanceLockStrategy(governanceFacade));
}
}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/StandardBootstrapInitializer.java
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/StandardBootstrapInitializer.java
index aff566c..7e0064a 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/StandardBootstrapInitializer.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/StandardBootstrapInitializer.java
@@ -18,11 +18,11 @@
package org.apache.shardingsphere.proxy.initializer.impl;
import org.apache.shardingsphere.infra.context.metadata.MetaDataContexts;
+import org.apache.shardingsphere.infra.lock.LockContext;
+import org.apache.shardingsphere.infra.lock.StandardLockStrategy;
import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
import
org.apache.shardingsphere.proxy.config.yaml.swapper.YamlProxyConfigurationSwapper;
-import org.apache.shardingsphere.proxy.lock.ProxyLockContext;
-import org.apache.shardingsphere.proxy.lock.StandardLockStrategy;
import org.apache.shardingsphere.transaction.context.TransactionContexts;
/**
@@ -46,7 +46,7 @@ public final class StandardBootstrapInitializer extends
AbstractBootstrapInitial
}
@Override
- protected void initProxyLockContext() {
- ProxyLockContext.init(new StandardLockStrategy());
+ protected void initLockContext() {
+ LockContext.init(new StandardLockStrategy());
}
}