pinpoint-apm/pinpoint · warning
found rpc toNode:{}
Error message
found rpc toNode:{} What it means
The symmetric counterpart of the fromNode warning: when the TO application of a link is not a node-eligible target (isToNode fails), createNode logs this warning and skips creating the destination node. The link data references a destination that cannot be represented as an application-map node.
Source
Thrown at web/src/main/java/com/navercorp/pinpoint/web/applicationmap/nodes/NodeListFactory.java:74
// 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;
}
return true;
}
private static boolean isToNode(final Application fromApplication, final Application toApplication) {
if (!toApplication.getServiceType().isRpcClient()) {
return true;
}
if (toApplication.getServiceType().isAlias()) {
return true;
}View on GitHub (pinned to 744c3d3075)
Solutions
- Register the destination's service type in the web/collector service-type configuration
- Use an application alias so the RPC destination maps to a real node
- Confirm the link's toApplication name/serviceType match the actual destination agent's config
- Ignore if the destination is intentionally external
Defensive patterns
Strategy: validation
Validate before calling
// ensure the destination resolves to a real node
if (!toApplication.getServiceType().isWas() && !isToNode(fromApplication, toApplication)) {
logger.warn("destination {} cannot be a node; consider an alias", toApplication);
} Prevention
- Register aliases for RPC destinations that should appear as nodes
- Keep custom service-type config in sync between components
- Avoid renaming/deleting destination applications without updating topology data
When it happens
Trigger: Link data whose toApplication has an RPC/unregistered service type that is not a valid node target — e.g. destination serviceType is RpcClient/unknown, or alias handling fails.
Common situations: Calls to unregistered backend technologies (custom service types not configured); destination applications deleted or renamed; RPC addresses used as destinations without alias registration.
Related errors
- found rpc fromNode linkData:{}
- 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/267e4545d14cc003.
Report an issue: GitHub.