{"record":{"id":"09a564dc8e422b7c","repo":"pinpoint-apm/pinpoint","slug":"failed-to-send-agentinfo","errorCode":null,"errorMessage":"Failed to send agentInfo={}","messagePattern":"Failed to send agentInfo=(.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/AgentInfoSender.java","lineNumber":210,"sourceCode":"                    } else {\n                        logger.warn(\"Failed to send agentInfo. request unsuccessful, response={}\", result.getMessage());\n                    }\n                }\n                return result.isSuccess();\n            } catch (ExecutionException ex) {\n                logError(agentInfo, ex.getCause());\n            } catch (InterruptedException ex) {\n                Thread.currentThread().interrupt();\n                logError(agentInfo, ex);\n            } catch (TimeoutException ex) {\n                logError(agentInfo, ex);\n            }\n            return false;\n        }\n\n        private void logError(AgentInfo agentInfo, Throwable cause) {\n            if (agentInfo != null && agentInfo.getAgentInformation() != null) {\n                logger.warn(\"Failed to send agentInfo={}\", agentInfo.getAgentInformation(), cause);\n            } else {\n                logger.warn(\"Failed to send agentInfo\", cause);\n            }\n        }\n    }\n\n    public static class Builder {\n        private final AsyncDataSender<MetaDataType, ResultResponse> dataSender;\n        private final AgentInfoFactory agentInfoFactory;\n        private long refreshIntervalMs = DEFAULT_AGENT_INFO_REFRESH_INTERVAL_MS;\n        private long sendIntervalMs = DEFAULT_AGENT_INFO_SEND_INTERVAL_MS;\n        private int maxTryPerAttempt = DEFAULT_MAX_TRY_COUNT_PER_ATTEMPT;\n\n        public Builder(AsyncDataSender<MetaDataType, ResultResponse> dataSender, AgentInfoFactory agentInfoFactory) {\n            this.dataSender = Objects.requireNonNull(dataSender, \"dataSender\");\n            this.agentInfoFactory = Objects.requireNonNull(agentInfoFactory, \"agentInfoFactory\");\n        }\n","sourceCodeStart":192,"sourceCodeEnd":228,"githubUrl":"https://github.com/pinpoint-apm/pinpoint/blob/744c3d3075e595656abb1ae331ad2c0e4c9eb996/agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/AgentInfoSender.java#L192-L228","documentation":"logError is the catch-all error logger for exceptions thrown during the AgentInfo send (TimeoutException, ExecutionException cause, etc.). It logs 'Failed to send agentInfo=<AgentInformation>' plus the cause when agent details are available. The send is considered failed and retried on the next cycle.","triggerScenarios":"future.get(3000, MILLISECONDS) throws TimeoutException (collector did not respond in 3s) or ExecutionException whose cause is passed to logError; also InterruptedException handled elsewhere.","commonSituations":"Collector unreachable, slow, or overloaded; network partition between agent and collector; collector restart; firewall dropping the RPC port.","solutions":["Read the chained 'cause' exception in the log — TimeoutException means network/collector latency, ExecutionException wraps transport errors","Verify collector host/port in pinpoint.config (profiler.collector.ip / .tcp / .span / .stat ports) and connectivity (telnet/nc)","Check collector load and GC/HBase latency; increase capacity or raise the 3s threshold by adjusting code if persistently slow","Transient failures self-heal via retry; alert on repeated occurrences"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"// connectivity pre-check before agent start\ntelnet <collector-host> 9994  # or nc -zv host port","typeGuard":null,"tryCatchPattern":"try { ResultResponse r = future.get(3000, TimeUnit.MILLISECONDS); ... }\ncatch (ExecutionException ex) { logError(agentInfo, ex.getCause()); return false; }\ncatch (TimeoutException ex) { logger.warn(\"agentInfo send timed out; collector unreachable/slow\"); return false; }\ncatch (InterruptedException ex) { Thread.currentThread().interrupt(); return false; }","preventionTips":["Verify profiler.collector.ip and port settings and firewall rules","Watch collector GC/HBase latency that can exceed the 3s wait","Rely on periodic retry; alert only on persistent failures"],"tags":["network","timeout","agent-registration","rpc"],"backgroundTag":"request-timeout","analyzedSha":"744c3d3075e595656abb1ae331ad2c0e4c9eb996","analyzedAt":"2026-09-07T18:48:45.289Z","contentChangedAt":"2026-09-07T18:48:45.289Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}