public LockRefreshToken asLockRefreshToken() { return new LockRefreshToken(tokenId, 0L); }
@JsonIgnore public LockRefreshToken getLockRefreshToken() { return new LockRefreshToken(tokenId, expirationDateMs); }
static LockRefreshToken toLegacyToken(LockToken tokenV2) { return new LockRefreshToken(toBigInteger(tokenV2.getRequestId()), Long.MIN_VALUE); }
@Before public void setup() throws InterruptedException { lockService = mock(LockService.class); LockRefreshToken token = new LockRefreshToken(BigInteger.ONE, Long.MAX_VALUE); when(lockService.lock(anyString(), any())).thenReturn(token); calculator = mock(StreamStoreRemappingSweepPriorityCalculator.class); priorities = new HashMap<>(); priorityTables = new HashSet<>(); blacklistTables = new HashSet<>(); provider = new NextTableToSweepProvider(lockService, calculator); }
@Test public void throwsIfBigIntegerHasMoreThan127Bits() { BigInteger bigInt = BigInteger.valueOf(2).pow(127); LockRefreshToken token = new LockRefreshToken(bigInt, 0L); assertThatThrownBy(() -> LockTokenConverter.toTokenV2(token)) .isInstanceOf(IllegalArgumentException.class) .hasMessageContaining("too many bits"); }
@Test public void lockOrRefreshCallsRefreshWhenTokenPresent() throws InterruptedException { LockRefreshToken token = new LockRefreshToken(BigInteger.ONE, 10000000000L); when(mockLockService.lock(anyString(), any())).thenReturn(token); lockService.lockOrRefresh(); verify(mockLockService, atLeastOnce()).lock(any(), any()); lockService.lockOrRefresh(); verify(mockLockService, atLeastOnce()).refreshLockRefreshTokens(ImmutableList.of(token)); verifyNoMoreInteractions(mockLockService); }
@Test public void closeUnlocksToken() throws InterruptedException { LockRefreshToken token = new LockRefreshToken(BigInteger.ONE, 10000000000L); when(mockLockService.lock(anyString(), any())).thenReturn(token); lockService.lockOrRefresh(); lockService.close(); verify(mockLockService, atLeastOnce()).unlock(token); } }
@Test public void lockClearedWhenRefreshReturnsEmpty() throws InterruptedException { when(mockLockService.lock(anyString(), any())).thenReturn(new LockRefreshToken(BigInteger.ONE, 10000000000L)); lockService.lockOrRefresh(); when(mockLockService.refreshLockRefreshTokens(any())).thenReturn(ImmutableSet.of()); lockService.lockOrRefresh(); assertFalse(lockService.haveLocks()); }
@Test public void lockStoredInToken() throws InterruptedException { when(mockLockService.lock(anyString(), any())).thenReturn(new LockRefreshToken(BigInteger.ONE, 10000000000L)); lockService.lockOrRefresh(); assertTrue(lockService.haveLocks()); }
@Test public void registersMetrics() throws InterruptedException { when(closeableLockService.lock(any(), any())).thenReturn(new LockRefreshToken(BigInteger.ONE, Long.MAX_VALUE)); snapshotTransactionManager.runTaskWithRetry(tx -> 42); MetricRegistry registry = snapshotTransactionManager.metricsManager.getRegistry(); assertThat(registry.getNames()) .contains(SETUP_TASK_METRIC_NAME) .contains(FINISH_TASK_METRIC_NAME); assertThat(registry.getTimers().get(SETUP_TASK_METRIC_NAME).getCount()).isGreaterThanOrEqualTo(1); assertThat(registry.getTimers().get(FINISH_TASK_METRIC_NAME).getCount()).isGreaterThanOrEqualTo(1); }
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; }
public LockRefreshToken asLockRefreshToken() { return new LockRefreshToken(tokenId, 0L); }
@JsonIgnore public LockRefreshToken getLockRefreshToken() { return new LockRefreshToken(tokenId, expirationDateMs); }