apache/hadoop · error · IOException

Block could not be located. Path={}, offset={}

Error message

Block could not be located. Path={}, offset={}

What it means

Error "Block could not be located. Path={}, offset={}" thrown in apache/hadoop.

Source

Thrown at hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/web/resources/NamenodeWebHdfsMethods.java:340

        throw new FileNotFoundException("File " + path + " not found.");
      }

      final long len = status.getLen();
      if (op == GetOpParam.Op.OPEN) {
        if (openOffset < 0L || (openOffset >= len && len > 0)) {
          throw new IOException("Offset=" + openOffset
              + " out of the range [0, " + len + "); " + op + ", path=" + path);
        }
      }

      if (len > 0) {
        final long offset = op == GetOpParam.Op.OPEN? openOffset: len - 1;
        final LocatedBlocks locations = np.getBlockLocations(path, offset, 1);
        final int count = locations.locatedBlockCount();
        if (count > 0) {
          return bestNode(locations.get(0).getLocations(), excludes);
        } else {
          throw new IOException("Block could not be located. Path=" + path + ", offset=" + offset);
        }
      }
    }

    // All other operations don't affect a specific node so let the BlockManager pick a target
    DatanodeDescriptor clientNode = bm.getDatanodeManager(
    ).getDatanodeByHost(remoteAddr);

    DatanodeStorageInfo[] storages = bm.chooseTarget4WebHDFS(
      path, clientNode, excludes, blocksize);
    if (storages.length > 0) {
      return storages[0].getDatanodeDescriptor();
    }

    return (DatanodeDescriptor)bm.getDatanodeManager().getNetworkTopology(
        ).chooseRandom(NodeBase.ROOT, excludes);
  }

View on GitHub (pinned to 2add963021)

Solutions

  1. Verify the file has data at that offset and that blocks are available; retry after DataNodes report blocks.

When it happens

Trigger: No located block exists for the requested path/offset during a WebHDFS read.

Common situations: Reading a zero-length file region, a file still under construction, or blocks not yet reported.


AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22). Data as JSON: /api/errors/847601b91404eb01. Report an issue: GitHub.