Object readResolve() { return lockMap.isEmpty() ? new HeldLocksGrant(grantId) : new HeldLocksGrant(grantId, creationDateMs, expirationDateMs, lockMap, lockTimeout, versionId); } }
@Override public boolean unlock(HeldLocksToken token) { return delegate().unlockSimple(SimpleHeldLocksToken.fromHeldLocksToken(token)); }
@Override public LockRefreshToken lock(String client, String lockName) throws InterruptedException { LockDescriptor descriptor = StringLockDescriptor.of(lockName); LockRequest request = LockRequest.builder(ImmutableSortedMap.of(descriptor, LockMode.WRITE)) .doNotBlock() .build(); return lockService.lock(client, request); }
private LockRefreshToken mockImmutableTsLockResponse() throws InterruptedException { LockDescriptor descriptor = AtlasTimestampLockDescriptor.of(FRESH_TIMESTAMP); com.palantir.lock.LockRequest expectedRequest = com.palantir.lock.LockRequest.builder(ImmutableSortedMap.of(descriptor, LockMode.READ)) .withLockedInVersionId(FRESH_TIMESTAMP).build(); LockRefreshToken expectedToken = new LockRefreshToken(BigInteger.ONE, 123L); when(lockService.lock(LOCK_CLIENT.getClientId(), expectedRequest)).thenReturn(expectedToken); return expectedToken; }
SerializationProxy(LockServerOptions lockServerOptions) { isStandaloneServer = lockServerOptions.isStandaloneServer(); maxAllowedLockTimeout = SimpleTimeDuration.of( lockServerOptions.getMaxAllowedLockTimeout()); maxAllowedClockDrift = SimpleTimeDuration.of( lockServerOptions.getMaxAllowedClockDrift()); maxAllowedBlockingDuration = SimpleTimeDuration.of( lockServerOptions.getMaxAllowedBlockingDuration()); maxNormalLockAge = SimpleTimeDuration.of( lockServerOptions.getMaxNormalLockAge()); randomBitCount = lockServerOptions.getRandomBitCount(); lockStateLoggerDir = lockServerOptions.getLockStateLoggerDir(); slowLogTriggerMillis = lockServerOptions.slowLogTriggerMillis(); }
private void testReentrancy(LockMode mode1, LockMode mode2) throws InterruptedException { LockResponse lockResponse1 = server.lockWithFullLockResponse( client, LockRequest.builder(ImmutableSortedMap.of(lock1, mode1)).build()); LockResponse lockResponse2 = server.lockWithFullLockResponse( client, LockRequest.builder(ImmutableSortedMap.of(lock1, mode2)).build()); server.unlockSimple(SimpleHeldLocksToken.fromHeldLocksToken(lockResponse1.getToken())); server.unlockSimple(SimpleHeldLocksToken.fromHeldLocksToken(lockResponse2.getToken())); } }
private long getImmutableTimestampInternal(long ts) { Long minLocked = lockService.getMinLockedInVersionId(immutableTsLockClient.getClientId()); return minLocked == null ? ts : minLocked; }
private void testAsciiLockDescriptors(String lockId) { assertThat(StringLockDescriptor.of(lockId).toString(), equalTo(expectedLockDescriptorToString(lockId))); assertThat(ByteArrayLockDescriptor.of(stringToBytes(lockId)).toString(), equalTo(expectedLockDescriptorToString(lockId))); }
@Override public LockResponse lockWithFullLockResponse(LockClient client, LockRequest request) throws InterruptedException { LockResponse lock = super.lockWithFullLockResponse(client, request); if (lock.getToken() != null) { toRefresh.add(lock.getToken().getLockRefreshToken()); } return lock; }
@Override public Set<LockRefreshToken> refresh(Set<LockRefreshToken> lockRefreshTokens) throws InterruptedException { return lockService.refreshLockRefreshTokens(lockRefreshTokens); } }
@Override public boolean unlock(LockRefreshToken token) { return delegate().unlockSimple(SimpleHeldLocksToken.fromLockRefreshToken(token)); }
@Override public Set<LockRefreshToken> refreshLockRefreshTokens(Iterable<LockRefreshToken> tokens) { return delegate().refreshLockRefreshTokens(tokens); }
@Override public HeldLocksToken lockAndGetHeldLocks(String client, LockRequest request) throws InterruptedException { return delegate().lockAndGetHeldLocks(client, request); }
@Override public Long getMinLockedInVersionId(String client) { return delegate().getMinLockedInVersionId(client); }
@Override public void logCurrentState() { delegate().logCurrentState(); }
@Override public long currentTimeMillis() { return delegate().currentTimeMillis(); }
@Override public void close() { if (token != null) { lockService.unlock(token); } }
Object readResolve() { if (isBlockAndRelease) { return new LockResponse(lockHolders); } return new LockResponse(token, lockHolders); } }