You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by me...@apache.org on 2022/06/01 11:40:49 UTC

[shardingsphere] branch master updated: Improve unit test for distributed lock (#18134)

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

menghaoran 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 e0d99d4bb45 Improve unit test for distributed lock (#18134)
e0d99d4bb45 is described below

commit e0d99d4bb45fd866df8660d3719c9a5245791acb
Author: gin <ja...@163.com>
AuthorDate: Wed Jun 1 19:40:42 2022 +0800

    Improve unit test for distributed lock (#18134)
---
 .../shardingsphere/infra/lock/LockContext.java     |  4 +-
 .../lock/ShardingSphereLockJudgeEngineTest.java    | 53 +++++++++++++++
 .../coordinator/lock/DistributedLockContext.java   |  5 --
 .../ShardingSphereDistributedDatabaseLock.java     |  2 +-
 .../distributed/ShardingSphereDistributedLock.java |  2 +-
 .../mutex/ShardingSphereInterMutexLockHolder.java  |  7 +-
 .../lock/DistributedLockContextTest.java           | 22 +++----
 .../lock/LockNodeServiceFactoryTest.java           | 40 ++++++++++++
 .../lock/manager/DistributedLockManagerTest.java   | 76 ++++++++++++++++++++++
 .../manager/memory/lock/MemoryLockContext.java     |  8 +--
 ...utexLock.java => ShardingSphereMemoryLock.java} |  2 +-
 ...Lock.java => ShardingSphereStandaloneLock.java} |  2 +-
 .../standalone/lock/StandaloneLockContext.java     |  8 +--
 13 files changed, 194 insertions(+), 37 deletions(-)

diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/lock/LockContext.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/lock/LockContext.java
index bfa872cafc2..d22680e6d50 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/lock/LockContext.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/lock/LockContext.java
@@ -117,5 +117,7 @@ public interface LockContext {
      * @param schemaName schema name
      * @return is locked or not
      */
-    boolean isLocked(String databaseName, String schemaName);
+    default boolean isLocked(String databaseName, String schemaName) {
+        throw new UnsupportedOperationException();
+    }
 }
diff --git a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/lock/ShardingSphereLockJudgeEngineTest.java b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/lock/ShardingSphereLockJudgeEngineTest.java
new file mode 100644
index 00000000000..5df07a41820
--- /dev/null
+++ b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/lock/ShardingSphereLockJudgeEngineTest.java
@@ -0,0 +1,53 @@
+/*
+ * 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.mode.manager.lock;
+
+import org.apache.shardingsphere.infra.lock.LockContext;
+import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DDLStatement;
+import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.DeleteStatement;
+import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.InsertStatement;
+import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
+import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.UpdateStatement;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+public final class ShardingSphereLockJudgeEngineTest {
+    
+    private ShardingSphereLockJudgeEngine engine;
+    
+    @Before
+    public void setUp() {
+        LockContext lockContext = mock(LockContext.class);
+        when(lockContext.isLocked("databaseName")).thenReturn(true);
+        engine = new ShardingSphereLockJudgeEngine(lockContext);
+    }
+    
+    @Test
+    public void assertIsLocked() {
+        assertTrue(engine.isLocked("databaseName", mock(InsertStatement.class)));
+        assertTrue(engine.isLocked("databaseName", mock(UpdateStatement.class)));
+        assertTrue(engine.isLocked("databaseName", mock(DeleteStatement.class)));
+        assertTrue(engine.isLocked("databaseName", mock(DDLStatement.class)));
+        assertFalse(engine.isLocked("databaseName", mock(SelectStatement.class)));
+    }
+}
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/DistributedLockContext.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/DistributedLockContext.java
index bdcc22ec056..87399fd5862 100644
--- a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/DistributedLockContext.java
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/DistributedLockContext.java
@@ -93,9 +93,4 @@ public final class DistributedLockContext implements LockContext {
     public boolean isLocked(final String databaseName) {
         return lockManager.isLocked(databaseName);
     }
-    
-    @Override
-    public boolean isLocked(final String databaseName, final String schema) {
-        return lockManager.isLocked(databaseName, schema);
-    }
 }
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/database/ShardingSphereDistributedDatabaseLock.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/database/ShardingSphereDistributedDatabaseLock.java
index d9804b8bf31..00e8e927cd7 100644
--- a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/database/ShardingSphereDistributedDatabaseLock.java
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/database/ShardingSphereDistributedDatabaseLock.java
@@ -63,7 +63,7 @@ public final class ShardingSphereDistributedDatabaseLock implements ShardingSphe
     }
     
     private Optional<InterMutexLock> getInterMutexLock(final String lockName) {
-        return Optional.ofNullable(lockHolder.getInterMutexLock(lockNodeService.generateLocksName(lockName)));
+        return lockHolder.getInterMutexLock(lockNodeService.generateLocksName(lockName));
     }
     
     @Override
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/distributed/ShardingSphereDistributedLock.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/distributed/ShardingSphereDistributedLock.java
index 51be60de7e1..053fd620464 100644
--- a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/distributed/ShardingSphereDistributedLock.java
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/distributed/ShardingSphereDistributedLock.java
@@ -69,7 +69,7 @@ public final class ShardingSphereDistributedLock implements ShardingSphereLock {
     }
     
     private Optional<InterMutexLock> getInterMutexLock(final String lockName) {
-        return Optional.ofNullable(lockHolder.getInterMutexLock(lockNodeService.generateLocksName(lockName)));
+        return lockHolder.getInterMutexLock(lockNodeService.generateLocksName(lockName));
     }
     
     @Override
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/mutex/ShardingSphereInterMutexLockHolder.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/mutex/ShardingSphereInterMutexLockHolder.java
index 482a76de436..bb1a868de99 100644
--- a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/mutex/ShardingSphereInterMutexLockHolder.java
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/mutex/ShardingSphereInterMutexLockHolder.java
@@ -79,8 +79,11 @@ public final class ShardingSphereInterMutexLockHolder {
      * @param locksName locks name
      * @return inter mutex lock
      */
-    public InterMutexLock getInterMutexLock(final String locksName) {
-        return interMutexLocks.get(locksName);
+    public Optional<InterMutexLock> getInterMutexLock(final String locksName) {
+        if (interMutexLocks.isEmpty()) {
+            return Optional.empty();
+        }
+        return Optional.ofNullable(interMutexLocks.get(locksName));
     }
     
     /**
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/DistributedLockContextTest.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/DistributedLockContextTest.java
index 3a41c552f6a..12ccbb65bd9 100644
--- a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/DistributedLockContextTest.java
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/DistributedLockContextTest.java
@@ -28,6 +28,7 @@ import org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepositor
 import org.junit.Test;
 
 import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertThat;
 import static org.mockito.Mockito.mock;
@@ -35,35 +36,34 @@ import static org.mockito.Mockito.mock;
 public final class DistributedLockContextTest {
     
     @Test
-    public void assertTryLockWriteDatabase() {
-        ComputeNodeInstance currentInstance = new ComputeNodeInstance(new InstanceDefinition(InstanceType.PROXY, "127.0.0.1@3307"));
+    public void assertGetDistributedLock() {
         DistributedLockContext distributedLockContext = new DistributedLockContext(mock(ClusterPersistRepository.class));
+        ComputeNodeInstance currentInstance = new ComputeNodeInstance(new InstanceDefinition(InstanceType.PROXY, "127.0.0.1@3307"));
         new InstanceContext(currentInstance, mock(WorkerIdGenerator.class), mock(ModeConfiguration.class), distributedLockContext).initLockContext();
-        assertNotNull(distributedLockContext.getLock());
+        assertThat(distributedLockContext.getLock(), instanceOf(ShardingSphereLock.class));
     }
     
     @Test
-    public void assertReleaseLockWriteDatabase() {
+    public void assertTryLock() {
         ComputeNodeInstance currentInstance = new ComputeNodeInstance(new InstanceDefinition(InstanceType.PROXY, "127.0.0.1@3307"));
         DistributedLockContext distributedLockContext = new DistributedLockContext(mock(ClusterPersistRepository.class));
         new InstanceContext(currentInstance, mock(WorkerIdGenerator.class), mock(ModeConfiguration.class), distributedLockContext).initLockContext();
-        distributedLockContext.releaseLock("database");
+        assertNotNull(distributedLockContext.getLock());
     }
     
     @Test
-    public void assertIsLockedDatabase() {
+    public void assertReleaseLock() {
         ComputeNodeInstance currentInstance = new ComputeNodeInstance(new InstanceDefinition(InstanceType.PROXY, "127.0.0.1@3307"));
         DistributedLockContext distributedLockContext = new DistributedLockContext(mock(ClusterPersistRepository.class));
         new InstanceContext(currentInstance, mock(WorkerIdGenerator.class), mock(ModeConfiguration.class), distributedLockContext).initLockContext();
-        distributedLockContext.isLocked("database");
+        distributedLockContext.releaseLock("database");
     }
     
     @Test
-    public void assertGetMutexLock() {
-        DistributedLockContext distributedLockContext = new DistributedLockContext(mock(ClusterPersistRepository.class));
+    public void assertIsLockedDatabase() {
         ComputeNodeInstance currentInstance = new ComputeNodeInstance(new InstanceDefinition(InstanceType.PROXY, "127.0.0.1@3307"));
+        DistributedLockContext distributedLockContext = new DistributedLockContext(mock(ClusterPersistRepository.class));
         new InstanceContext(currentInstance, mock(WorkerIdGenerator.class), mock(ModeConfiguration.class), distributedLockContext).initLockContext();
-        distributedLockContext.getLock();
-        assertThat(distributedLockContext.getLock(), instanceOf(ShardingSphereLock.class));
+        assertFalse(distributedLockContext.isLocked("database"));
     }
 }
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/LockNodeServiceFactoryTest.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/LockNodeServiceFactoryTest.java
new file mode 100644
index 00000000000..fc7c1ac2b76
--- /dev/null
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/LockNodeServiceFactoryTest.java
@@ -0,0 +1,40 @@
+/*
+ * 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.mode.manager.cluster.coordinator.lock;
+
+import org.apache.shardingsphere.mode.manager.cluster.coordinator.lock.database.node.DatabaseLockNodeService;
+import org.apache.shardingsphere.mode.manager.cluster.coordinator.lock.distributed.node.DistributedLockNodeService;
+import org.apache.shardingsphere.mode.manager.cluster.coordinator.lock.util.LockNodeType;
+import org.junit.Test;
+
+import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThat;
+
+public final class LockNodeServiceFactoryTest {
+    
+    @Test
+    public void assertGetLockNodeService() {
+        LockNodeService distributedLockNodeService = LockNodeServiceFactory.getInstance().getLockNodeService(LockNodeType.DISTRIBUTED);
+        assertThat(distributedLockNodeService, instanceOf(DistributedLockNodeService.class));
+        LockNodeService databaseLockNodeService = LockNodeServiceFactory.getInstance().getLockNodeService(LockNodeType.DATABASE);
+        assertThat(databaseLockNodeService, instanceOf(DatabaseLockNodeService.class));
+        LockNodeService schemaLockNodeService = LockNodeServiceFactory.getInstance().getLockNodeService(LockNodeType.SCHEMA);
+        assertNull(schemaLockNodeService);
+    }
+}
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/manager/DistributedLockManagerTest.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/manager/DistributedLockManagerTest.java
new file mode 100644
index 00000000000..363344e9421
--- /dev/null
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/lock/manager/DistributedLockManagerTest.java
@@ -0,0 +1,76 @@
+/*
+ * 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.mode.manager.cluster.coordinator.lock.manager;
+
+import org.apache.shardingsphere.infra.lock.LockMode;
+import org.apache.shardingsphere.mode.manager.cluster.coordinator.lock.database.ShardingSphereDistributedDatabaseLock;
+import org.apache.shardingsphere.mode.manager.cluster.coordinator.lock.distributed.ShardingSphereDistributedLock;
+import org.apache.shardingsphere.mode.manager.cluster.coordinator.lock.util.TimeoutMilliseconds;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.lang.reflect.Field;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+public final class DistributedLockManagerTest {
+    
+    private final DistributedLockManager distributedLockManager = new DistributedLockManager();
+    
+    @Before
+    public void init() throws ReflectiveOperationException {
+        ShardingSphereDistributedLock distributedLock = mock(ShardingSphereDistributedLock.class);
+        Field distributedLockField = distributedLockManager.getClass().getDeclaredField("distributedLock");
+        distributedLockField.setAccessible(true);
+        distributedLockField.set(distributedLockManager, distributedLock);
+        ShardingSphereDistributedDatabaseLock databaseLock = mock(ShardingSphereDistributedDatabaseLock.class);
+        when(databaseLock.tryLock("databaseName", 3000L - TimeoutMilliseconds.DEFAULT_REGISTRY)).thenReturn(true);
+        Field databaseLockField = distributedLockManager.getClass().getDeclaredField("databaseLock");
+        databaseLockField.setAccessible(true);
+        databaseLockField.set(distributedLockManager, databaseLock);
+    }
+    
+    @Test
+    public void assertGetDistributedLock() {
+        assertNotNull(distributedLockManager.getDistributedLock());
+    }
+    
+    @Test
+    public void assertTryReadLock() {
+        assertTrue(distributedLockManager.tryLock("databaseName", LockMode.READ, 3000L));
+    }
+    
+    @Test(expected = UnsupportedOperationException.class)
+    public void assertTryWriteLock() {
+        distributedLockManager.tryLock("databaseName", LockMode.WRITE, 3000L);
+    }
+    
+    @Test
+    public void assertReleaseLock() {
+        distributedLockManager.releaseLock("databaseName");
+    }
+    
+    @Test
+    public void assertIsLocked() {
+        assertFalse(distributedLockManager.isLocked("databaseName"));
+    }
+}
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-memory-mode/shardingsphere-memory-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/memory/lock/MemoryLockContext.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-memory-mode/shardingsphere-memory-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/memory/lock/MemoryLockContext.java
index a284bb2d268..205a11a6110 100644
--- a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-memory-mode/shardingsphere-memory-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/memory/lock/MemoryLockContext.java
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-memory-mode/shardingsphere-memory-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/memory/lock/MemoryLockContext.java
@@ -26,7 +26,7 @@ import org.apache.shardingsphere.infra.lock.ShardingSphereLock;
  */
 public final class MemoryLockContext implements LockContext {
     
-    private final ShardingSphereLock memoryLock = new ShardingSphereMemoryMutexLock();
+    private final ShardingSphereLock memoryLock = new ShardingSphereMemoryLock();
     
     @Override
     public ShardingSphereLock getLock() {
@@ -52,10 +52,4 @@ public final class MemoryLockContext implements LockContext {
     public boolean isLocked(final String databaseName) {
         return memoryLock.isLocked(databaseName);
     }
-    
-    @Override
-    public boolean isLocked(final String databaseName, final String schemaName) {
-        // TODO when the lock structure adjustment is completed
-        throw new UnsupportedOperationException();
-    }
 }
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-memory-mode/shardingsphere-memory-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/memory/lock/ShardingSphereMemoryMutexLock.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-memory-mode/shardingsphere-memory-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/memory/lock/ShardingSphereMemoryLock.java
similarity index 97%
rename from shardingsphere-mode/shardingsphere-mode-type/shardingsphere-memory-mode/shardingsphere-memory-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/memory/lock/ShardingSphereMemoryMutexLock.java
rename to shardingsphere-mode/shardingsphere-mode-type/shardingsphere-memory-mode/shardingsphere-memory-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/memory/lock/ShardingSphereMemoryLock.java
index 563f4827d69..437e43bc1a2 100644
--- a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-memory-mode/shardingsphere-memory-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/memory/lock/ShardingSphereMemoryMutexLock.java
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-memory-mode/shardingsphere-memory-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/memory/lock/ShardingSphereMemoryLock.java
@@ -28,7 +28,7 @@ import java.util.concurrent.locks.ReentrantLock;
 /**
  * Memory mutex lock of ShardingSphere.
  */
-public final class ShardingSphereMemoryMutexLock implements ShardingSphereLock {
+public final class ShardingSphereMemoryLock implements ShardingSphereLock {
     
     private static final long DEFAULT_TRY_LOCK_TIMEOUT_MILLISECONDS = 3 * 60 * 1000;
     
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/lock/ShardingSphereStandaloneMutexLock.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/lock/ShardingSphereStandaloneLock.java
similarity index 97%
rename from shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/lock/ShardingSphereStandaloneMutexLock.java
rename to shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/lock/ShardingSphereStandaloneLock.java
index 6bfcc276da3..b3e5f0bae42 100644
--- a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/lock/ShardingSphereStandaloneMutexLock.java
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/lock/ShardingSphereStandaloneLock.java
@@ -28,7 +28,7 @@ import java.util.concurrent.locks.ReentrantLock;
 /**
  * Standalone mutex lock of ShardingSphere.
  */
-public final class ShardingSphereStandaloneMutexLock implements ShardingSphereLock {
+public final class ShardingSphereStandaloneLock implements ShardingSphereLock {
     
     private static final long DEFAULT_TRY_LOCK_TIMEOUT_MILLISECONDS = 3 * 60 * 1000;
     
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/lock/StandaloneLockContext.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/lock/StandaloneLockContext.java
index bb3d9d1d5f3..5c336e985c1 100644
--- a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/lock/StandaloneLockContext.java
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/lock/StandaloneLockContext.java
@@ -26,7 +26,7 @@ import org.apache.shardingsphere.infra.lock.ShardingSphereLock;
  */
 public final class StandaloneLockContext implements LockContext {
     
-    private final ShardingSphereLock standaloneLock = new ShardingSphereStandaloneMutexLock();
+    private final ShardingSphereLock standaloneLock = new ShardingSphereStandaloneLock();
     
     @Override
     public ShardingSphereLock getLock() {
@@ -52,10 +52,4 @@ public final class StandaloneLockContext implements LockContext {
     public boolean isLocked(final String databaseName) {
         return standaloneLock.isLocked(databaseName);
     }
-    
-    @Override
-    public boolean isLocked(final String databaseName, final String schemaName) {
-        // TODO when the lock structure adjustment is completed
-        throw new UnsupportedOperationException();
-    }
 }