pinpoint-apm/pinpoint · warning
found rpc fromNode linkData:{}
Error message
found rpc fromNode linkData:{} What it means
createNode in NodeListFactory adds nodes to the application map from link data. If the FROM application is an RPC client but is not itself a node-eligible application (not a registered from-node), the link references an RPC entry point that cannot be materialized as a node, so this warning is logged and the node is skipped.
Source
Thrown at web/src/main/java/com/navercorp/pinpoint/web/applicationmap/nodes/NodeListFactory.java:63
logger.debug("allNode:{}", nodeList.getNodeList());
}
return nodeList;
}
private static void createNode(NodeList.Builder nodeBuilder, LinkDataMap linkDataMap) {
for (LinkData linkData : linkDataMap.getLinkDataList()) {
final Application fromApplication = linkData.getFromApplication();
final Application toApplication = linkData.getToApplication();
// FROM is either a CLIENT or a node
// cannot be RPC. Already converted to unknown.
if (isFromNode(fromApplication, toApplication)) {
final boolean success = addNode(nodeBuilder, fromApplication);
if (success) {
logger.debug("createSourceNode:{}", fromApplication);
}
} else {
logger.warn("found rpc fromNode linkData:{}", linkData);
}
// FROM -> TO : TO is either a CLIENT or a node
// create node when it's alias even if RPC
if (isToNode(fromApplication, toApplication)) {
final boolean success = addNode(nodeBuilder, toApplication);
if (success) {
logger.debug("createTargetNode:{}", toApplication);
}
} else {
logger.warn("found rpc toNode:{}", linkData);
}
}
}
private static boolean isFromNode(final Application fromApplication, final Application toApplication) {
if (fromApplication.getServiceType().isRpcClient()) {
return false;View on GitHub (pinned to 744c3d3075)
Solutions
- Register the RPC client service type in the pinpoint service type configuration (types-yyyy.json / service-type.yml)
- Verify the fromApplication's serviceTypeCode is correctly mapped on both collector and web
- Check that the frontend's link query supplies the correct source application
- Ignore if the RPC node is intentionally not displayed
Defensive patterns
Strategy: validation
Validate before calling
// check the source service type before creating map nodes
if (!fromApplication.getServiceType().isRpcClient() || !isKnownServiceType(fromApplication.getServiceTypeCode())) {
logger.warn("source {} is not a valid from-node", fromApplication);
} Prevention
- Register all custom RPC service types in web/collector service-type config
- Keep service type definitions identical across collector, web, and agents
- Verify topology link data sources before rendering the map
When it happens
Trigger: A link whose source application has an RPC-client service type that fails isFromNode() (the source serviceType is not an RPC client or the destination is not a valid node), typically from unregistered RPC service types in link data.
Common situations: Users calling an uninstrumented RPC endpoint; serviceType not registered in types-of configuration so the RPC client classification fails; stale topology data referencing removed applications.
Related errors
- found rpc toNode:{}
- Too many link data. Reduce the values of the Inbound/outboun
- application serviceType not found. code:${serviceTypeCode},
- application is not WAS. application:${application}, serviceT
- can not create application. applicationName: ${applicationNa
AI-assisted analysis of pinpoint-apm/pinpoint@744c3d3075 (2026-09-07).
Data as JSON: /api/errors/df6f4e5078c6b466.
Report an issue: GitHub.