docker/RetryingDockerHttpClient.java

floci-io/floci · src/main/java/io/github/hectorvent/floci/core/common/docker/RetryingDockerHttpClient.java · java · MIT
infra, Infra / DevOps

Wraps DockerHttpClient to retry transient failures with exponential backoff.

// Source: https://github.com/floci-io/floci | License: MIT | Copyright 2025 Floci and its contributors
// Provided via justclaw.it.com; keep this notice with the code.
package io.github.hectorvent.floci.core.common.docker;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.dockerjava.transport.DockerHttpClient;
import org.jboss.logging.Logger;

import java.io.IOException;

/**
 * Decorates a {@link DockerHttpClient} with the {@link DockerRetry} policy so every docker call
 * travelling over the shared daemon socket survives a transient mid-call drop ({@code Broken
 * pipe}, {@code Connection reset}) without each call site having to wrap itself.
 *
 * <p>The daemon drops connections under fan-out load (an LZA Bootstrap sta

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search for more like it.

Get a free API key