You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@linkis.apache.org by ca...@apache.org on 2022/08/22 14:26:24 UTC
[incubator-linkis] branch dev-1.3.0 updated: Optimize the performance of the Manager's distributed locks close #2929 (#2930)
This is an automated email from the ASF dual-hosted git repository.
casion pushed a commit to branch dev-1.3.0
in repository https://gitbox.apache.org/repos/asf/incubator-linkis.git
The following commit(s) were added to refs/heads/dev-1.3.0 by this push:
new 19efbe452 Optimize the performance of the Manager's distributed locks close #2929 (#2930)
19efbe452 is described below
commit 19efbe4529d08d7f0e528e9408ab63b02cdb8001
Author: peacewong <wp...@gmail.com>
AuthorDate: Mon Aug 22 22:26:18 2022 +0800
Optimize the performance of the Manager's distributed locks close #2929 (#2930)
---
.../persistence/impl/DefaultLockManagerPersistence.java | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
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 82b0fc026..0236cd61a 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
@@ -59,8 +59,16 @@ public class DefaultLockManagerPersistence implements LockManagerPersistence {
private boolean tryLock(PersistenceLock persistenceLock, Long timeOut) {
try {
- lockManagerMapper.lock(persistenceLock.getLockObject(), timeOut);
- return true;
+ List<PersistenceLock> lockers =
+ lockManagerMapper.getLockersByLockObject(persistenceLock.getLockObject());
+ if (lockers == null || lockers.isEmpty()) {
+ lockManagerMapper.lock(persistenceLock.getLockObject(), timeOut);
+ return true;
+ } else {
+ logger.info(
+ "Failed to obtain lock {} ,Because locker is exists", persistenceLock.getLockObject());
+ return false;
+ }
} catch (DataAccessException e) {
logger.warn("Failed to obtain lock:" + persistenceLock.getLockObject());
return false;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@linkis.apache.org
For additional commands, e-mail: commits-help@linkis.apache.org