Class AuthErrorDecider

java.lang.Object
com.couchbase.client.core.retry.AuthErrorDecider

@Internal public class AuthErrorDecider extends Object
  • Constructor Details

    • AuthErrorDecider

      public AuthErrorDecider()
  • Method Details

    • isAuthError

      public static boolean isAuthError(List<InternalEndpointDiagnostics> endpointDiagnostics)
      Determine based on the auth status of all GCCCP endpoints whether there's an authentication problem, such as bad credentials or a bad certificate.

      GCCCP is used exclusively because it's the most reliable determiner. Every cluster must have KV, every supported cluster must have GCCCP, and a bucket-associated KV connection can fail (NO_ACCESS) for other reasons more to do with authorization than authentication - such as the user not having permissions to access the bucket. Or reasons to do with neither, such as the bucket not existing or being hibernated.

      AuthenticationStatus.FAILED on a GCCCP endpoint should mean exactly that.

    • isAuthError

      public static boolean isAuthError(Stream<InternalEndpointDiagnostics> endpointDiagnostics)
    • getTlsHandshakeFailure

      @Nullable public static Throwable getTlsHandshakeFailure(Core core)