@Test public void testIsPossiblyOkHttpTimeoutBug() { assertThat(AtlasDbHttpClients.isPossiblyOkHttpTimeoutBug( new RuntimeException(new UncheckedExecutionException(new SocketTimeoutException())))).isTrue(); assertThat(AtlasDbHttpClients.isPossiblyOkHttpTimeoutBug(new RuntimeException(new RuntimeException()))) .isFalse(); }
@VisibleForTesting static boolean isPossiblyOkHttpTimeoutBug(Throwable throwable) { if (throwable instanceof SocketTimeoutException) { return true; } Throwable cause = throwable.getCause(); return cause != null && isPossiblyOkHttpTimeoutBug(cause); }
AtlasDbHttpClients { @VisibleForTesting static boolean isPossiblyOkHttpTimeoutBug(Throwable throwable) { if (throwable instanceof SocketTimeoutException) { return true; } Throwable cause = throwable.getCause(); return cause != null && isPossiblyOkHttpTimeoutBug(cause); } }
AtlasDbHttpClients { @VisibleForTesting static boolean isPossiblyOkHttpTimeoutBug(Throwable throwable) { if (throwable instanceof SocketTimeoutException) { return true; } Throwable cause = throwable.getCause(); return cause != null && isPossiblyOkHttpTimeoutBug(cause); } private  AtlasDbHttpClients(); }
AtlasDbHttpClients { @VisibleForTesting static boolean isPossiblyOkHttpTimeoutBug(Throwable throwable) { if (throwable instanceof SocketTimeoutException) { return true; } Throwable cause = throwable.getCause(); return cause != null && isPossiblyOkHttpTimeoutBug(cause); } private  AtlasDbHttpClients(); static T createProxy(
            Optional<TrustContext> trustContext,
            String uri,
            Class<T> type,
            AuxiliaryRemotingParameters parameters); static T createProxyWithFailover(
            MetricsManager metricsManager,
            ServerListConfig serverListConfig,
            Class<T> type,
            AuxiliaryRemotingParameters parameters); static T createLiveReloadingProxyWithFailover(
            MetricsManager metricsManager,
            Supplier<ServerListConfig> serverListConfigSupplier,
            Class<T> type,
            AuxiliaryRemotingParameters clientParameters); static T createDialogueProxy(TaggedMetricRegistry registry, Class<T> type, Channel channel); static T createUninstrumentedDialogueProxy(Class<T> type, Channel channel); }
AtlasDbHttpClients { @VisibleForTesting static boolean isPossiblyOkHttpTimeoutBug(Throwable throwable) { if (throwable instanceof SocketTimeoutException) { return true; } Throwable cause = throwable.getCause(); return cause != null && isPossiblyOkHttpTimeoutBug(cause); } private  AtlasDbHttpClients(); static T createProxy(
            Optional<TrustContext> trustContext,
            String uri,
            Class<T> type,
            AuxiliaryRemotingParameters parameters); static T createProxyWithFailover(
            MetricsManager metricsManager,
            ServerListConfig serverListConfig,
            Class<T> type,
            AuxiliaryRemotingParameters parameters); static T createLiveReloadingProxyWithFailover(
            MetricsManager metricsManager,
            Supplier<ServerListConfig> serverListConfigSupplier,
            Class<T> type,
            AuxiliaryRemotingParameters clientParameters); static T createDialogueProxy(TaggedMetricRegistry registry, Class<T> type, Channel channel); static T createUninstrumentedDialogueProxy(Class<T> type, Channel channel);  }