private State sendEncryptionRequestWithRetry()

in encryption/src/main/java/org/apache/solr/encryption/EncryptionRequestHandler.java [420:439]


  private State sendEncryptionRequestWithRetry(
      Replica replica,
      SolrQueryRequest req,
      ModifiableSolrParams params,
      String keyId) {
    for (int numAttempts = 0; numAttempts < DISTRIBUTION_MAX_ATTEMPTS; numAttempts++) {
      try {
        SimpleSolrResponse response = sendEncryptionRequest(replica, req, params);
        Object responseStatus = response.getResponse().get(STATUS);
        Object responseState = response.getResponse().get(ENCRYPTION_STATE);
        log.info("Encryption state {} status {} for replica {} keyId {} in {} ms", responseStatus, responseState, replica.getName(), keyId, response.getElapsedTime());
        if (responseState != null) {
          return State.fromValue(responseState.toString());
        }
      } catch (SolrServerException | IOException e) {
        log.error("Error occurred while sending encryption request", e);
      }
    }
    throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Failed encryption request to replica " + replica.getName() + " for keyId " + keyId);
  }