private void waitFor(Set<LockDescriptor> lockDescriptors) { WaitForLocksRequest request = WaitForLocksRequest.of(lockDescriptors, transactionConfig.get().getLockAcquireTimeoutMillis()); WaitForLocksResponse response = timelockService.waitForLocks(request); if (!response.wasSuccessful()) { log.error("Timed out waiting for commits to complete. Timeout was {} ms. First ten locks were {}.", SafeArg.of("requestId", request.getRequestId()), SafeArg.of("acquireTimeoutMs", transactionConfig.get().getLockAcquireTimeoutMillis()), UnsafeArg.of("firstTenLockDescriptors", Iterables.limit(lockDescriptors, 10))); throw new TransactionLockAcquisitionTimeoutException("Timed out waiting for commits to complete."); } }
@Test public void waitForLocksDelegates() { WaitForLocksRequest request = WaitForLocksRequest.of(LOCKS, TIMEOUT); timelock.waitForLocks(request); verify(delegate).waitForLocks(request); verifyNoMoreInteractions(refresher); }
@Test public void waitForLocksDelegatesToLockService() throws InterruptedException { com.palantir.lock.LockRequest legacyRequest = com.palantir.lock.LockRequest.builder(buildLockMap(LockMode.READ)).lockAndRelease().build(); when(lockService.lock(LockClient.ANONYMOUS.getClientId(), legacyRequest)).thenReturn(LOCK_REFRESH_TOKEN); timelock.waitForLocks(WaitForLocksRequest.of(ImmutableSet.of(LOCK_A, LOCK_B), TIMEOUT)); verify(lockService).lock(LockClient.ANONYMOUS.getClientId(), legacyRequest); }
private void waitFor(Set<LockDescriptor> lockDescriptors) { WaitForLocksRequest request = WaitForLocksRequest.of(lockDescriptors, transactionConfig.get().getLockAcquireTimeoutMillis()); WaitForLocksResponse response = timelockService.waitForLocks(request); if (!response.wasSuccessful()) { log.error("Timed out waiting for commits to complete. Timeout was {} ms. First ten locks were {}.", SafeArg.of("requestId", request.getRequestId()), SafeArg.of("acquireTimeoutMs", transactionConfig.get().getLockAcquireTimeoutMillis()), UnsafeArg.of("firstTenLockDescriptors", Iterables.limit(lockDescriptors, 10))); throw new TransactionLockAcquisitionTimeoutException("Timed out waiting for commits to complete."); } }