apache/hadoop · error · IOException
No remote locations available
Error message
No remote locations available
What it means
Error "No remote locations available" thrown in apache/hadoop.
Source
Thrown at hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/router/RouterRpcClient.java:1589
* @param method The remote method and parameters to invoke.
* @param standby If the requests should go to the standby namenodes too.
* @param timeOutMs Timeout for each individual call.
* @param clazz Type of the remote return type.
* @return Result of invoking the method per subcluster (list of results).
* This includes the exception for each remote location.
* @throws IOException If there are errors invoking the method.
*/
@SuppressWarnings("unchecked")
public <T extends RemoteLocationContext, R> List<RemoteResult<T, R>>
invokeConcurrent(final Collection<T> locations,
final RemoteMethod method, boolean standby, long timeOutMs,
Class<R> clazz) throws IOException {
final UserGroupInformation ugi = RouterRpcServer.getRemoteUser();
final Method m = method.getMethod();
if (locations.isEmpty()) {
throw new IOException("No remote locations available");
} else if (locations.size() == 1 && timeOutMs <= 0) {
// Shortcut, just one call
return invokeSingle(locations.iterator().next(), method);
}
RouterRpcFairnessPolicyController controller = getRouterRpcFairnessPolicyController();
acquirePermit(CONCURRENT_NS, ugi, method.getMethodName(), controller);
List<T> orderedLocations = new ArrayList<>();
List<Callable<Object>> callables = new ArrayList<>();
// transfer originCall & callerContext to worker threads of executor.
final Call originCall = Server.getCurCall().get();
final CallerContext originContext = CallerContext.getCurrent();
try{
for (final T location : locations) {
String nsId = location.getNameserviceId();
boolean isObserverRead = isObserverReadEligible(nsId, m);
final List<? extends FederationNamenodeContext> namenodes =
getOrderedNamenodes(nsId, isObserverRead);View on GitHub (pinned to 2add963021)
Solutions
- Check the mount table entry for the path; it must have at least one destination.
- Add or fix destinations: dfsrouteradmin -add <src> <nsId> <dest>.
- Confirm the path resolves through a mount point rather than falling back to a disabled default nameservice.
When it happens
Trigger: Path resolution produced zero remote locations for the requested path.
Common situations: Missing/empty mount table entry for the path, or the default nameservice fallback is disabled.
AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22).
Data as JSON: /api/errors/1b35dafe3d98afdd.
Report an issue: GitHub.