@Test(groups = "unit") public void should_expose_decision_properties() throws Throwable { RetryDecision retryAtOne = RetryDecision.retry(ONE); assertThat(retryAtOne.getType()).isEqualTo(RETRY); assertThat(retryAtOne.getRetryConsistencyLevel()).isEqualTo(ONE); assertThat(retryAtOne.isRetryCurrent()).isTrue(); assertThat(retryAtOne.toString()).isEqualTo("Retry at ONE on same host."); RetryDecision tryNextAtOne = RetryDecision.tryNextHost(ONE); assertThat(tryNextAtOne.getType()).isEqualTo(RETRY); assertThat(tryNextAtOne.getRetryConsistencyLevel()).isEqualTo(ONE); assertThat(tryNextAtOne.isRetryCurrent()).isFalse(); assertThat(tryNextAtOne.toString()).isEqualTo("Retry at ONE on next host."); RetryDecision rethrow = RetryDecision.rethrow(); assertThat(rethrow.getType()).isEqualTo(RETHROW); assertThat(rethrow.toString()).isEqualTo("Rethrow"); RetryDecision ignore = RetryDecision.ignore(); assertThat(ignore.getType()).isEqualTo(IGNORE); assertThat(ignore.toString()).isEqualTo("Ignore"); } }
private void processRetryDecision( RetryPolicy.RetryDecision retryDecision, Connection connection, Exception exceptionToReport) { switch (retryDecision.getType()) { case RETRY: retriesByPolicy++; if (logger.isDebugEnabled()) logger.debug( "[{}] Doing retry {} for query {} at consistency {}", id, retriesByPolicy, statement, retryDecision.getRetryConsistencyLevel()); if (metricsEnabled()) metrics().getErrorMetrics().getRetries().inc(); // log error for the current host if we are switching to another one if (!retryDecision.isRetryCurrent()) logError(connection.address, exceptionToReport); retry(retryDecision.isRetryCurrent(), retryDecision.getRetryConsistencyLevel()); break; case RETHROW: setFinalException(connection, exceptionToReport); break; case IGNORE: if (metricsEnabled()) metrics().getErrorMetrics().getIgnores().inc(); setFinalResult(connection, new Responses.Result.Void()); break; } }
@Test(groups = "unit") public void should_expose_decision_properties() throws Throwable { RetryDecision retryAtOne = RetryDecision.retry(ONE); assertThat(retryAtOne.getType()).isEqualTo(RETRY); assertThat(retryAtOne.getRetryConsistencyLevel()).isEqualTo(ONE); assertThat(retryAtOne.isRetryCurrent()).isTrue(); assertThat(retryAtOne.toString()).isEqualTo("Retry at ONE on same host."); RetryDecision tryNextAtOne = RetryDecision.tryNextHost(ONE); assertThat(tryNextAtOne.getType()).isEqualTo(RETRY); assertThat(tryNextAtOne.getRetryConsistencyLevel()).isEqualTo(ONE); assertThat(tryNextAtOne.isRetryCurrent()).isFalse(); assertThat(tryNextAtOne.toString()).isEqualTo("Retry at ONE on next host."); RetryDecision rethrow = RetryDecision.rethrow(); assertThat(rethrow.getType()).isEqualTo(RETHROW); assertThat(rethrow.toString()).isEqualTo("Rethrow"); RetryDecision ignore = RetryDecision.ignore(); assertThat(ignore.getType()).isEqualTo(IGNORE); assertThat(ignore.toString()).isEqualTo("Ignore"); } }
private void processRetryDecision(RetryPolicy.RetryDecision retryDecision, Connection connection, Exception exceptionToReport) { switch (retryDecision.getType()) { case RETRY: retriesByPolicy++; if (logger.isDebugEnabled()) logger.debug("[{}] Doing retry {} for query {} at consistency {}", id, retriesByPolicy, statement, retryDecision.getRetryConsistencyLevel()); if (metricsEnabled()) metrics().getErrorMetrics().getRetries().inc(); // log error for the current host if we are switching to another one if (!retryDecision.isRetryCurrent()) logError(connection.address, exceptionToReport); retry(retryDecision.isRetryCurrent(), retryDecision.getRetryConsistencyLevel()); break; case RETHROW: setFinalException(connection, exceptionToReport); break; case IGNORE: if (metricsEnabled()) metrics().getErrorMetrics().getIgnores().inc(); setFinalResult(connection, new Responses.Result.Void()); break; } }
private void processRetryDecision(RetryPolicy.RetryDecision retryDecision, Connection connection, Exception exceptionToReport) { switch (retryDecision.getType()) { case RETRY: retriesByPolicy++; if (logger.isDebugEnabled()) logger.debug("[{}] Doing retry {} for query {} at consistency {}", id, retriesByPolicy, statement, retryDecision.getRetryConsistencyLevel()); if (metricsEnabled()) metrics().getErrorMetrics().getRetries().inc(); // log error for the current host if we are switching to another one if (!retryDecision.isRetryCurrent()) logError(connection.address, exceptionToReport); retry(retryDecision.isRetryCurrent(), retryDecision.getRetryConsistencyLevel()); break; case RETHROW: setFinalException(connection, exceptionToReport); break; case IGNORE: if (metricsEnabled()) metrics().getErrorMetrics().getIgnores().inc(); setFinalResult(connection, new Responses.Result.Void()); break; } }
private void processRetryDecision(RetryPolicy.RetryDecision retryDecision, Connection connection, Exception exceptionToReport) { switch (retryDecision.getType()) { case RETRY: retriesByPolicy++; if (logger.isDebugEnabled()) logger.debug("[{}] Doing retry {} for query {} at consistency {}", id, retriesByPolicy, statement, retryDecision.getRetryConsistencyLevel()); if (metricsEnabled()) metrics().getErrorMetrics().getRetries().inc(); // log error for the current host if we are switching to another one if (!retryDecision.isRetryCurrent()) logError(connection.address, exceptionToReport); retry(retryDecision.isRetryCurrent(), retryDecision.getRetryConsistencyLevel()); break; case RETHROW: setFinalException(connection, exceptionToReport); break; case IGNORE: if (metricsEnabled()) metrics().getErrorMetrics().getIgnores().inc(); setFinalResult(connection, new Responses.Result.Void()); break; } }
private static String host(RetryDecision decision) { return decision.isRetryCurrent() ? "same host" : "next host"; }
private static String host(RetryDecision decision) { return decision.isRetryCurrent() ? "same host" : "next host"; }
private static String host(RetryDecision decision) { return decision.isRetryCurrent() ? "same host" : "next host"; }
private static String host(RetryDecision decision) { return decision.isRetryCurrent() ? "same host" : "next host"; }