CassandraRequestExceptionHandler { @VisibleForTesting static boolean isRetryable(Exception ex) { return isConnectionException(ex) || isTransientException(ex) || isIndicativeOfCassandraLoad(ex) || isFastFailoverException(ex); } CassandraRequestExceptionHandler(
            Supplier<Integer> maxTriesSameHost,
            Supplier<Integer> maxTriesTotal,
            Supplier<Boolean> useConservativeHandler,
            Blacklist blacklist); private  CassandraRequestExceptionHandler(
            Supplier<Integer> maxTriesSameHost,
            Supplier<Integer> maxTriesTotal,
            Blacklist blacklist);   }
@Test public void retryableExceptionsAreRetryableDefault() { for (Exception ex : ALL_EXCEPTIONS) { assertTrue(String.format("Exception %s should be retryable", ex), handlerLegacy.isRetryable(ex)); } assertFalse("RuntimeException is not retryable", handlerLegacy.isRetryable(new RuntimeException())); }
@Test public void retryableExceptionsAreRetryableConservative() { for (Exception ex : ALL_EXCEPTIONS) { assertTrue(String.format("Exception %s should be retryable", ex), handlerConservative.isRetryable(ex)); } assertFalse("RuntimeException is not retryable", handlerConservative.isRetryable(new RuntimeException())); }