{"record":{"id":"e6a89e21d76187a7","repo":"pinpoint-apm/pinpoint","slug":"failed-to-send-agentinfo-result-not-set-e6a89e","errorCode":null,"errorMessage":"Failed to send agentInfo. result not set","messagePattern":"Failed to send agentInfo\\. result not set","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/AgentInfoSender.java","lineNumber":185,"sourceCode":"                logger.info(\"AgentInfo sent.\");\n                this.cancel();\n                taskHandler.onSuccess();\n            }\n        }\n\n        private boolean sendAgentInfo() {\n            AgentInfo agentInfo = null;\n            try {\n                agentInfo = agentInfoFactory.createAgentInfo();\n\n                logger.info(\"Sending AgentInfo={}\", agentInfo);\n                CompletableFuture<ResultResponse> future = dataSender.request(agentInfo);\n                ResultResponse result = future.get(3000, TimeUnit.MILLISECONDS);\n                if (result == null) {\n                    if (agentInfo != null && agentInfo.getAgentInformation() != null) {\n                        logger.warn(\"Failed to send agentInfo={}. result not set\", agentInfo.getAgentInformation());\n                    } else {\n                        logger.warn(\"Failed to send agentInfo. result not set\");\n                    }\n                    return false;\n                }\n                if (!result.isSuccess()) {\n                    if (agentInfo != null && agentInfo.getAgentInformation() != null) {\n                        logger.warn(\"Failed to send agentInfo={}. request unsuccessful, response={}\", agentInfo.getAgentInformation(), result.getMessage());\n                    } 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);","sourceCodeStart":167,"sourceCodeEnd":203,"githubUrl":"https://github.com/pinpoint-apm/pinpoint/blob/744c3d3075e595656abb1ae331ad2c0e4c9eb996/agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/AgentInfoSender.java#L167-L203","documentation":"Same null-result failure path as error 584 but logged when agentInfo or agentInfo.getAgentInformation() is null, so no agent details can be included in the message. The send attempt returns false and will be retried later.","triggerScenarios":"future.get(3000ms) returned null ResultResponse while the AgentInfo object itself or its embedded AgentInformation is null — usually a construction/configuration defect rather than a network issue.","commonSituations":"Agent misconfiguration where agentId/applicationName/hostname were never populated into AgentInformation; programmatic use of AgentInfoSender.Builder with missing fields.","solutions":["Verify pinpoint.config provides agentId, applicationName and that AgentInformation is built at startup","Check the Builder wiring: ensure agentInfo passed to sendAgentInfo carries getAgentInformation() != null","Confirm the collector responded within 3 seconds; if network latency is the root cause, the null path wouldn't apply — treat config first","Enable DEBUG logging on AgentInfoSender to trace what is being sent"],"exampleFix":"// before\nAgentInfoSender.Utils.sendAgentInfo(sender, null);\n// after\nAgentInfo agentInfo = new AgentInfo(agentInformation, jvmInfo, ...);\nAgentInfoSender.Utils.sendAgentInfo(sender, agentInfo);","handlingStrategy":"validation","validationCode":"if (agentInfo == null || agentInfo.getAgentInformation() == null)\n    throw new IllegalStateException(\"AgentInformation must be populated before sending\");","typeGuard":"boolean isSendable(AgentInfo a) { return a != null && a.getAgentInformation() != null; }","tryCatchPattern":null,"preventionTips":["Verify agentId/applicationName/agentStartTime are set in pinpoint.config","Never pass a partially built AgentInfo to AgentInfoSender","Log AgentInformation at startup to confirm it is populated"],"tags":["agent-registration","null-value","configuration"],"backgroundTag":"unexpected-api-response-shape","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"}