@Override public ClusterAvailabilityStatus getClusterAvailabilityStatus() { return delegate.getClusterAvailabilityStatus(); }
@Override public KeyValueServiceStatus getKeyValueServiceStatus() { ClusterAvailabilityStatus clusterAvailabilityStatus = keyValueService.getClusterAvailabilityStatus(); switch (clusterAvailabilityStatus) { case TERMINAL: return KeyValueServiceStatus.TERMINAL; case ALL_AVAILABLE: return KeyValueServiceStatus.HEALTHY_ALL_OPERATIONS; case QUORUM_AVAILABLE: return KeyValueServiceStatus.HEALTHY_BUT_NO_SCHEMA_MUTATIONS_OR_DELETES; case NO_QUORUM_AVAILABLE: default: return KeyValueServiceStatus.UNHEALTHY; } }
@Override public ClusterAvailabilityStatus getClusterAvailabilityStatus() { ClusterAvailabilityStatus clusterAvailabilityStatus1 = delegate1.getClusterAvailabilityStatus(); ClusterAvailabilityStatus clusterAvailabilityStatus2 = delegate2.getClusterAvailabilityStatus(); if (clusterAvailabilityStatus1.compareTo(clusterAvailabilityStatus2) < 0) { return clusterAvailabilityStatus1; } return clusterAvailabilityStatus2; }
@Override public KeyValueServiceStatus getKeyValueServiceStatus() { ClusterAvailabilityStatus clusterAvailabilityStatus = keyValueService.getClusterAvailabilityStatus(); switch (clusterAvailabilityStatus) { case ALL_AVAILABLE: case QUORUM_AVAILABLE: return KeyValueServiceStatus.HEALTHY_ALL_OPERATIONS; case NO_QUORUM_AVAILABLE: return KeyValueServiceStatus.UNHEALTHY; case TERMINAL: return KeyValueServiceStatus.TERMINAL; default: log.warn("The kvs returned a non-standard availability status: {}", clusterAvailabilityStatus); return KeyValueServiceStatus.UNHEALTHY; } }
@Override public ClusterAvailabilityStatus getClusterAvailabilityStatus() { return delegates.stream() .map(kvs -> kvs.getClusterAvailabilityStatus()) .sorted() .findFirst() .orElse(ClusterAvailabilityStatus.ALL_AVAILABLE); }
@Override public ClusterAvailabilityStatus getClusterAvailabilityStatus() { return delegate().getClusterAvailabilityStatus(); }
@Override public ClusterAvailabilityStatus getClusterAvailabilityStatus() { return delegate().getClusterAvailabilityStatus(); }
@Override public ClusterAvailabilityStatus getClusterAvailabilityStatus() { return delegate().getClusterAvailabilityStatus(); }
@Test public void clusterAvailabilityStatusShouldBeAllAvailable() { assertThat(keyValueService.getClusterAvailabilityStatus(), is(ClusterAvailabilityStatus.ALL_AVAILABLE)); }
@Override public ClusterAvailabilityStatus getClusterAvailabilityStatus() { //noinspection unused - try-with-resources closes trace try (CloseableTrace trace = startLocalTrace("getClusterAvailabilityStatus()")) { return delegate().getClusterAvailabilityStatus(); } }
@Override @Test public void clusterAvailabilityStatusShouldBeAllAvailable() { assertThatThrownBy(() -> TRM.getDefaultKvs().getClusterAvailabilityStatus()) .isInstanceOf(UnsupportedOperationException.class); } }
@Before public void setUp() { nothingInitialized(); executorService = new DeterministicSchedulerWithShutdownFlag(); manager = getManagerWithCallback(true, mockCallback, executorService); when(mockKvs.getClusterAvailabilityStatus()).thenReturn(ClusterAvailabilityStatus.ALL_AVAILABLE); }
@Test public void callbackCanCallTmMethodsEvenThoughTmStillThrows() { everythingInitialized(); ClusterAvailabilityStatusBlockingCallback blockingCallback = new ClusterAvailabilityStatusBlockingCallback(); manager = getManagerWithCallback(true, blockingCallback, executorService); ExecutorService tickerThread = PTExecutors.newSingleThreadExecutor(true); tickerThread.submit(() -> executorService.tick(1000, TimeUnit.MILLISECONDS)); Awaitility.waitAtMost(THREE, TimeUnit.SECONDS).until(blockingCallback::wasInvoked); verify(mockKvs, atLeast(1)).getClusterAvailabilityStatus(); assertThatThrownBy(manager::getKeyValueServiceStatus).isInstanceOf(NotInitializedException.class); blockingCallback.stopBlocking(); Awaitility.waitAtMost(THREE, TimeUnit.SECONDS).until(manager::isInitialized); assertThat(manager.getKeyValueServiceStatus()).isEqualTo(KeyValueServiceStatus.HEALTHY_ALL_OPERATIONS); tickerThread.shutdown(); }
@Override public ClusterAvailabilityStatus getClusterAvailabilityStatus() { return delegate.getClusterAvailabilityStatus(); }
@Override public ClusterAvailabilityStatus getClusterAvailabilityStatus() { ClusterAvailabilityStatus clusterAvailabilityStatus1 = delegate1.getClusterAvailabilityStatus(); ClusterAvailabilityStatus clusterAvailabilityStatus2 = delegate2.getClusterAvailabilityStatus(); if (clusterAvailabilityStatus1.compareTo(clusterAvailabilityStatus2) < 0) { return clusterAvailabilityStatus1; } return clusterAvailabilityStatus2; }
@Override public ClusterAvailabilityStatus getClusterAvailabilityStatus() { return delegates.stream() .map(kvs -> kvs.getClusterAvailabilityStatus()) .sorted() .findFirst() .orElse(ClusterAvailabilityStatus.ALL_AVAILABLE); }
@Override public ClusterAvailabilityStatus getClusterAvailabilityStatus() { return delegate().getClusterAvailabilityStatus(); }
@Override public ClusterAvailabilityStatus getClusterAvailabilityStatus() { return delegate().getClusterAvailabilityStatus(); }
@Override public ClusterAvailabilityStatus getClusterAvailabilityStatus() { return delegate().getClusterAvailabilityStatus(); }
@Override public ClusterAvailabilityStatus getClusterAvailabilityStatus() { //noinspection unused - try-with-resources closes trace try (CloseableTrace trace = startLocalTrace("getClusterAvailabilityStatus()")) { return delegate().getClusterAvailabilityStatus(); } }