pinpoint-apm/pinpoint · error

Receive unexpected response: result =

Error message

Receive unexpected response: result = {}

What it means

Warn log in ClusterPointController.request: the collector received an unexpected response object from the agent over the cluster gRPC channel (result did not match an expected response type), so the connection check cannot interpret it.

Solutions

  1. Check for agent/collector version mismatch on the cluster protocol
  2. Verify the response type dispatcher handles the agent's reply type
  3. Re-run the connection check or re-register the cluster point
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at realtime/realtime-collector/src/main/java/com/navercorp/pinpoint/realtime/collector/controller/ClusterPointController.java:202 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of pinpoint-apm/pinpoint@744c3d3075 (2026-09-07). Data as JSON: /api/errors/ca910a9c1ed4fee0. Report an issue: GitHub.

Appendix: source

Thrown at realtime/realtime-collector/src/main/java/com/navercorp/pinpoint/realtime/collector/controller/ClusterPointController.java:202

            response = request0(grpcAgentConnection, checkCount);
        } catch (StatusRuntimeException e) {
            logger.warn("Exception occurred while request message. message:{}", e.getMessage(), e);
            if (e.getStatus().getCode() == Status.CANCELLED.getCode()) {
                clearConnection();
                return CheckConnectionStatusResult.FAIL_AND_CLEAR_CONNECTION;
            }
            return CheckConnectionStatusResult.FAIL;
        } catch (ClusterException e) {
            logger.warn("Exception occurred while request message. message:{}", e.getMessage(), e);
            clearConnection();
            return CheckConnectionStatusResult.FAIL_AND_CLEAR_CONNECTION;
        }
        try {
            PCmdEchoResponse result = response.get(3000, TimeUnit.MILLISECONDS);
            if (result.getMessage().equals("PING")) {
                return CheckConnectionStatusResult.SUCCESS;
            }
            logger.warn("Receive unexpected response: result = {}", result);
        } catch (Exception cause) {
            logger.warn("Failed while request message. message:{}", cause.getMessage(), cause);
            return CheckConnectionStatusResult.FAIL;
        }

        return CheckConnectionStatusResult.FAIL;
    }

    private void clearConnection() {
    }

    // If the occur exception in connection, do not retry
    // Multiple attempts only at timeout
    private CompletableFuture<PCmdEchoResponse> request0(GrpcAgentConnection conn, int maxCount) {
        Mono<PCmdEchoResponse> mono = Mono.create(sink -> {
            long sinkId = this.echoSinkRepository.put(sink);
            sink.onDispose(() -> {
                this.echoSinkRepository.invalidate(sinkId);

View on GitHub (pinned to 744c3d3075)