Skip to content

Commit 244af36

Browse files
committed
feat(lock): mark Exists as NO_SIDE_EFFECTS
Annotate the only read-only method on lock.v1.LockService with idempotency_level = NO_SIDE_EFFECTS so Connect-RPC handlers accept HTTP GET for it. Callers can probe lock state via a cacheable URL without a POST round-trip. Lock, LockRead, Release, ForceRelease, UpdateTTL stay POST-only — they mutate the locker's internal map (even Lock with wait=0 creates a resource entry on first reference). Additive proto change; existing clients keep working.
1 parent d84446b commit 244af36

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

roadrunner/api/lock/v1/service.proto

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ service LockService {
1313
rpc LockRead(LockRequest) returns (LockResponse);
1414
rpc Release(LockRequest) returns (LockResponse);
1515
rpc ForceRelease(LockRequest) returns (LockResponse);
16-
rpc Exists(LockRequest) returns (LockResponse);
16+
rpc Exists(LockRequest) returns (LockResponse) {
17+
option idempotency_level = NO_SIDE_EFFECTS;
18+
}
1719
rpc UpdateTTL(LockRequest) returns (LockResponse);
1820
}

0 commit comments

Comments
 (0)