apache/hadoop · error
EIO
EIO
Error message
nmdGetNameNodePort failed with error %d
What it means
Error "nmdGetNameNodePort failed with error %d " thrown in apache/hadoop.
Source
Thrown at hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfs-tests/test_libhdfs_zerocopy.c:213
blockLen = getZeroCopyBlockLen(blockIdx);
data = getZeroCopyBlockData(blockIdx);
EXPECT_NONNULL(data);
EXPECT_INT_EQ(blockLen, hdfsWrite(fs, file, data, blockLen));
}
EXPECT_ZERO(hdfsCloseFile(fs, file));
return 0;
}
static int nmdConfigureHdfsBuilder(struct NativeMiniDfsCluster *cl,
struct hdfsBuilder *bld) {
int ret;
tPort port;
const char *domainSocket;
hdfsBuilderSetNameNode(bld, "localhost");
port = (tPort) nmdGetNameNodePort(cl);
if (port < 0) {
fprintf(stderr, "nmdGetNameNodePort failed with error %d\n", -port);
return EIO;
}
hdfsBuilderSetNameNodePort(bld, port);
domainSocket = hdfsGetDomainSocketPath(cl);
if (domainSocket) {
ret = hdfsBuilderConfSetStr(bld, "dfs.client.read.shortcircuit", "true");
if (ret) {
return ret;
}
ret = hdfsBuilderConfSetStr(bld, "dfs.domain.socket.path",
domainSocket);
if (ret) {
return ret;
}
}
return 0;View on GitHub (pinned to 2add963021)
Solutions
- Set the environment variable used by nmdGetNameNodePort (e.g. LIBHDFS_ZERO_COPY_PORT / HDFS config) to a valid numeric port.
- Verify the port value is parseable and within 1-65535.
- Confirm the mini-cluster or real NameNode configuration that supplies the port is in place.
When it happens
Trigger: nmdGetNameNodePort helper failed to resolve the NameNode port needed by the zerocopy test.
Common situations: Missing or malformed environment/config value for the NameNode port when running test_libhdfs_zerocopy.
AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22).
Data as JSON: /api/errors/a525d8c58bf95019.
Report an issue: GitHub.