Skip to content

Commit d6ce147

Browse files
feat: print describe before leader election (#167)
1 parent e6cd80f commit d6ce147

File tree

1 file changed

+21
-5
lines changed

1 file changed

+21
-5
lines changed

shedlock-ydb/src/main/java/tech/ydb/lock/provider/YdbCoordinationServiceLockProvider.java

+21-5
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import tech.ydb.coordination.CoordinationSession;
1717
import tech.ydb.coordination.SemaphoreLease;
1818
import tech.ydb.coordination.settings.CoordinationSessionSettings;
19+
import tech.ydb.coordination.settings.DescribeSemaphoreMode;
1920
import tech.ydb.core.Result;
2021
import tech.ydb.jdbc.YdbConnection;
2122

@@ -64,12 +65,27 @@ public Optional<SimpleLock> lock(LockConfiguration lockConfiguration) {
6465
var statusCS = coordinationSession.connect().join();
6566

6667
if (!statusCS.isSuccess()) {
67-
logger.info("Failed creating coordination session [{}]", coordinationSession);
68+
logger.warn("Failed creating coordination session [{}]", coordinationSession);
6869

6970
return Optional.empty();
7071
}
7172

72-
logger.info("Created coordination node session [{}]", coordinationSession);
73+
logger.debug("Created coordination node session [{}]", coordinationSession);
74+
75+
var describeResult = coordinationSession.describeSemaphore(
76+
lockConfiguration.getName(),
77+
DescribeSemaphoreMode.WITH_OWNERS
78+
).join();
79+
80+
if (describeResult.isSuccess()) {
81+
var describe = describeResult.getValue();
82+
83+
if (!describe.getOwnersList().isEmpty()) {
84+
var describePayload = new String(describe.getOwnersList().get(0).getData(), StandardCharsets.UTF_8);
85+
86+
logger.info("Received DescribeSemaphore[Name={}, Data={}]", describe.getName(), describePayload);
87+
}
88+
}
7389

7490
Result<SemaphoreLease> semaphoreLease = coordinationSession.acquireEphemeralSemaphore(
7591
lockConfiguration.getName(),
@@ -81,12 +97,12 @@ public Optional<SimpleLock> lock(LockConfiguration lockConfiguration) {
8197
logger.debug(coordinationSession.toString());
8298

8399
if (semaphoreLease.isSuccess()) {
84-
logger.info("Instance[{}] acquired semaphore[SemaphoreName={}]", instanceInfo,
100+
logger.debug("Instance[{}] acquired semaphore [SemaphoreName={}]", instanceInfo,
85101
semaphoreLease.getValue().getSemaphoreName());
86102

87103
return Optional.of(new YdbSimpleLock(semaphoreLease.getValue(), instanceInfo, coordinationSession));
88104
} else {
89-
logger.info("Instance[{}] did not acquire semaphore", instanceInfo);
105+
logger.debug("Instance[{}] did not acquire semaphore", instanceInfo);
90106

91107
return Optional.empty();
92108
}
@@ -96,7 +112,7 @@ private record YdbSimpleLock(SemaphoreLease semaphoreLease, String metaInfo,
96112
CoordinationSession coordinationSession) implements SimpleLock {
97113
@Override
98114
public void unlock() {
99-
logger.info("Instance[{}] released semaphore[SemaphoreName={}]", metaInfo, semaphoreLease.getSemaphoreName());
115+
logger.info("Instance[{}] released semaphore [SemaphoreName={}]", metaInfo, semaphoreLease.getSemaphoreName());
100116

101117
semaphoreLease.release().join();
102118

0 commit comments

Comments
 (0)