Skip to content
This repository was archived by the owner on Apr 1, 2025. It is now read-only.

Commit eb2cc91

Browse files
leases now have a default duration of 60 seconds
1 parent 5c44a01 commit eb2cc91

File tree

7 files changed

+17
-13
lines changed

7 files changed

+17
-13
lines changed

extensions/transfer/transfer-store-cosmos/src/main/java/com/microsoft/dagx/transfer/store/cosmos/model/Lease.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,23 @@
99
import com.fasterxml.jackson.annotation.JsonProperty;
1010

1111
import java.time.Instant;
12-
import java.time.temporal.ChronoUnit;
1312

1413
public class Lease {
1514
@JsonProperty
1615
private final String leasedBy;
1716
@JsonProperty
1817
private final long leasedAt;
1918
@JsonProperty
20-
private final long leasedUntil;
19+
private final long leaseDuration;
2120

2221
Lease(String leasedBy) {
23-
this(leasedBy, Instant.now().toEpochMilli(), Instant.now().plus(60, ChronoUnit.SECONDS).toEpochMilli());
22+
this(leasedBy, Instant.now().toEpochMilli(), 60);
2423
}
2524

26-
public Lease(@JsonProperty("leasedBy") String leasedBy, @JsonProperty("leasedAt") long leasedAt, @JsonProperty("leasedUntil") long leasedUntil) {
25+
public Lease(@JsonProperty("leasedBy") String leasedBy, @JsonProperty("leasedAt") long leasedAt, @JsonProperty("leaseDurationSeconds") long leaseDurationSeconds) {
2726
this.leasedBy = leasedBy;
2827
this.leasedAt = leasedAt;
29-
this.leasedUntil = leasedUntil;
28+
leaseDuration = leaseDurationSeconds;
3029
}
3130

3231
public String getLeasedBy() {
@@ -37,7 +36,7 @@ public long getLeasedAt() {
3736
return leasedAt;
3837
}
3938

40-
public long getLeasedUntil() {
41-
return leasedUntil;
39+
public long getLeaseDuration() {
40+
return leaseDuration;
4241
}
4342
}

extensions/transfer/transfer-store-cosmos/src/main/java/com/microsoft/dagx/transfer/store/cosmos/model/TransferProcessDocument.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@ public void acquireLease(String connectorId) {
7171
lease = new Lease(connectorId);
7272
} else {
7373
var startDate = Instant.ofEpochMilli(lease.getLeasedAt());
74-
var endDate = Instant.ofEpochMilli(lease.getLeasedUntil());
75-
throw new IllegalStateException("This document is leased by " + lease.getLeasedBy() + "on " + startDate.toString() + " and cannot be leased again until " + endDate.toString() + "!");
74+
var endDate = startDate.plusSeconds(lease.getLeaseDuration());
75+
throw new IllegalStateException("This document is leased by " + lease.getLeasedBy() + "on " + startDate + " and cannot be leased again until " + endDate.toString() + "!");
7676
}
7777
}
7878

extensions/transfer/transfer-store-cosmos/src/test/java/com/microsoft/dagx/transfer/store/cosmos/CosmosTransferProcessStoreTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ void nextForState_selfCanLeaseAgain() {
172172
var updatedDoc = readDocument(tp1.getId());
173173
assertThat(updatedDoc.getLease().getLeasedAt()).isNotEqualTo(originalTs);
174174
assertThat(doc.getLease().getLeasedBy()).isEqualTo(connectorId);
175+
assertThat(doc.getLease().getLeaseDuration()).isEqualTo(60);
175176

176177
}
177178

extensions/transfer/transfer-store-cosmos/src/test/resources/lease.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ function lease(processId, connectorId, shouldLease) {
5757
function lease(document, connectorId) {
5858
document.lease = {
5959
leasedBy: connectorId,
60-
leasedAt: Date.now()
60+
leasedAt: Date.now(),
61+
leaseDuration: 60
6162
};
6263

6364
var accept = collection.replaceDocument(document._self, document, function (err, itemReplaced) {

extensions/transfer/transfer-store-cosmos/src/test/resources/nextForState.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ function nextForState(state, limit, connectorId) {
5050
function lease(document, connectorId) {
5151
document.lease = {
5252
leasedBy: connectorId,
53-
leasedAt: Date.now()
53+
leasedAt: Date.now(),
54+
leaseDuration: 60
5455
};
5556

5657
var accept = collection.replaceDocument(document._self, document, function (err, itemReplaced) {

scripts/lease.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ function lease(processId, connectorId, shouldLease) {
5757
function lease(document, connectorId) {
5858
document.lease = {
5959
leasedBy: connectorId,
60-
leasedAt: Date.now()
60+
leasedAt: Date.now(),
61+
leaseDuration: 60
6162
};
6263

6364
var accept = collection.replaceDocument(document._self, document, function (err, itemReplaced) {

scripts/nextForState.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ function nextForState(state, limit, connectorId) {
5050
function lease(document, connectorId) {
5151
document.lease = {
5252
leasedBy: connectorId,
53-
leasedAt: Date.now()
53+
leasedAt: Date.now(),
54+
leaseDuration: 60
5455
};
5556

5657
var accept = collection.replaceDocument(document._self, document, function (err, itemReplaced) {

0 commit comments

Comments
 (0)