pinpoint-apm/pinpoint · warning
from UserNode not found:{}
Error message
from UserNode not found:{} What it means
Same situation as error 691 but in the simplified (SimplifiedNodeHistogramFactory) implementation: createUserNodeHistogram finds no incoming link for the User node, logs 'from UserNode not found', and returns createEmptyNodeHistogram instead of a populated one. It indicates the user's source link is absent from the supplied LinkList.
Source
Thrown at web/src/main/java/com/navercorp/pinpoint/web/applicationmap/appender/histogram/SimplifiedNodeHistogramFactory.java:84
AgentHistogramList targetList = inLink.getOutLinkList();
for (AgentHistogram histogram : targetList.getAgentHistogramList()) {
Histogram find = agentHistogramMap.get(histogram.getId());
if (find == null) {
find = new Histogram(histogram.getServiceType());
agentHistogramMap.put(histogram.getId(), find);
}
find.add(histogram.getHistogram());
}
}
return agentHistogramMap;
}
@Override
public NodeHistogram createUserNodeHistogram(Application userApplication, Range range, LinkList linkList) {
// for User nodes, find its source link and create the histogram
final List<Link> fromLink = linkList.findFromLink(userApplication);
if (fromLink.isEmpty()) {
logger.warn("from UserNode not found:{}", userApplication);
return createEmptyNodeHistogram(userApplication, range);
} else if (fromLink.size() > 1) {
// log and use first(0) link.
logger.warn("Invalid from UserNode:{}", linkList.getLinkList());
}
final Link sourceLink = fromLink.get(0);
NodeHistogram.Builder builder = NodeHistogram.newBuilder(userApplication, range);
builder.setApplicationHistogram(sourceLink.getHistogram());
return builder.build();
}
@Override
public NodeHistogram createQueueNodeHistogram(Application queueApplication, Range range, LinkList linkList) {
final List<Link> toLinkList = linkList.findToLink(queueApplication);
if (toLinkList.isEmpty()) {
return NodeHistogram.empty(queueApplication, range);
}View on GitHub (pinned to 744c3d3075)
Solutions
- Verify the link-building phase that runs with the simplified factory actually creates USER->APP links.
- Use the same Range for link creation and node histogram creation.
- Confirm the user Application passed in matches the one used when links were built (same ApplicationFactory name/serviceType).
- Treat the returned empty NodeHistogram as the designed fallback when user links are disabled.
Example fix
// before
NodeHistogram nh = simplifiedFactory.createUserNodeHistogram(userApp, range, linkList);
// after
if (linkList.findFromLink(userApp).isEmpty()) {
logger.debug("no user link for {}; empty histogram expected", userApp);
}
NodeHistogram nh = simplifiedFactory.createUserNodeHistogram(userApp, range, linkList); Defensive patterns
Strategy: fallback
Validate before calling
boolean hasUserLink = !linkList.findFromLink(userApplication).isEmpty();
if (!hasUserLink) {
logger.debug("simplified map: no user link for {}", userApplication);
} Prevention
- Run the link appender that creates USER->APP links in simplified mode.
- Match the Application instance (name + serviceType) used during link building.
- Keep node and link ranges aligned.
- Handle the empty-histogram node gracefully in the UI.
When it happens
Trigger: Calling SimplifiedNodeHistogramFactory.createUserNodeHistogram(userApplication, range, linkList) when findFromLink(userApplication) is empty — no link in the list targets the user Application.
Common situations: Simplified map rendering mode with user nodes enabled but the user link omitted by the link appender; node/link phase range mismatch; link data dropped due to link-count limits; calling the factory with a user Application that was never linked (e.g. fabricated node).
Understand the failure class
Background: "Not found" and "does not exist" errors: why "Task not found", "No such folder", and "Can't find" fire when a lookup comes back empty — this error's family across 14 libraries.
Related errors
- from UserNode not found:{}
- Invalid from UserNode:{}
- Invalid from UserNode:{}
- Too many link data. Reduce the values of the Inbound/outboun
- agent list is empty for application:{}
AI-assisted analysis of pinpoint-apm/pinpoint@744c3d3075 (2026-09-07).
Data as JSON: /api/errors/8226a3be06348474.
Report an issue: GitHub.