You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@linkis.apache.org by al...@apache.org on 2022/07/22 12:31:59 UTC
[incubator-linkis] 01/06: Distributed lock sql optimization close 2503
This is an automated email from the ASF dual-hosted git repository.
alexkun pushed a commit to branch dev-1.2.0
in repository https://gitbox.apache.org/repos/asf/incubator-linkis.git
commit 8265e118f6e9b23f4cf762325b234a3cb57b9182
Author: peacewong <wp...@gmail.com>
AuthorDate: Fri Jul 22 16:23:59 2022 +0800
Distributed lock sql optimization close 2503
---
.../java/org/apache/linkis/manager/dao/LockManagerMapper.java | 6 ++++++
.../manager/persistence/impl/DefaultLabelManagerPersistence.java | 2 ++
.../manager/persistence/impl/DefaultLockManagerPersistence.java | 8 +++++++-
3 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/linkis-computation-governance/linkis-manager/linkis-manager-persistence/src/main/java/org/apache/linkis/manager/dao/LockManagerMapper.java b/linkis-computation-governance/linkis-manager/linkis-manager-persistence/src/main/java/org/apache/linkis/manager/dao/LockManagerMapper.java
index 0135ee2a5..14cca3028 100644
--- a/linkis-computation-governance/linkis-manager/linkis-manager-persistence/src/main/java/org/apache/linkis/manager/dao/LockManagerMapper.java
+++ b/linkis-computation-governance/linkis-manager/linkis-manager-persistence/src/main/java/org/apache/linkis/manager/dao/LockManagerMapper.java
@@ -33,6 +33,12 @@ public interface LockManagerMapper {
@Delete("delete from linkis_cg_manager_lock where lock_object = #{jsonObject}")
void unlock(String jsonObject);
+ @Delete("delete from linkis_cg_manager_lock where id = #{id}")
+ void unlock(int id);
+
+ @Select("select * from linkis_cg_manager_lock where lock_object = #{jsonObject}")
+ List<PersistenceLock> getLockersByLockObject(String jsonObject);
+
@Select("select * from linkis_cg_manager_lock")
@Results({
@Result(property = "updateTime", column = "update_time"),
diff --git a/linkis-computation-governance/linkis-manager/linkis-manager-persistence/src/main/java/org/apache/linkis/manager/persistence/impl/DefaultLabelManagerPersistence.java b/linkis-computation-governance/linkis-manager/linkis-manager-persistence/src/main/java/org/apache/linkis/manager/persistence/impl/DefaultLabelManagerPersistence.java
index 191882171..2e4798099 100644
--- a/linkis-computation-governance/linkis-manager/linkis-manager-persistence/src/main/java/org/apache/linkis/manager/persistence/impl/DefaultLabelManagerPersistence.java
+++ b/linkis-computation-governance/linkis-manager/linkis-manager-persistence/src/main/java/org/apache/linkis/manager/persistence/impl/DefaultLabelManagerPersistence.java
@@ -139,6 +139,8 @@ public class DefaultLabelManagerPersistence implements LabelManagerPersistence {
@Override
public PersistenceLabel getLabel(int id) {
+ PersistenceLabel persistenceLabel = labelManagerMapper.getLabel(id);
+ PersistenceUtils.setValue(persistenceLabel);
return labelManagerMapper.getLabel(id);
}
diff --git a/linkis-computation-governance/linkis-manager/linkis-manager-persistence/src/main/java/org/apache/linkis/manager/persistence/impl/DefaultLockManagerPersistence.java b/linkis-computation-governance/linkis-manager/linkis-manager-persistence/src/main/java/org/apache/linkis/manager/persistence/impl/DefaultLockManagerPersistence.java
index 4ce0b9018..240055df6 100644
--- a/linkis-computation-governance/linkis-manager/linkis-manager-persistence/src/main/java/org/apache/linkis/manager/persistence/impl/DefaultLockManagerPersistence.java
+++ b/linkis-computation-governance/linkis-manager/linkis-manager-persistence/src/main/java/org/apache/linkis/manager/persistence/impl/DefaultLockManagerPersistence.java
@@ -70,7 +70,13 @@ public class DefaultLockManagerPersistence implements LockManagerPersistence {
@Override
public void unlock(PersistenceLock persistenceLock) {
- lockManagerMapper.unlock(persistenceLock.getLockObject());
+ List<PersistenceLock> lockers =
+ lockManagerMapper.getLockersByLockObject(persistenceLock.getLockObject());
+ if (lockers != null && !lockers.isEmpty()) {
+ for (PersistenceLock lock : lockers) {
+ lockManagerMapper.unlock(lock.getId());
+ }
+ }
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@linkis.apache.org
For additional commands, e-mail: commits-help@linkis.apache.org