code: private boolean blockReceived(Block block,
                              String delHint,
                              DatanodeDescriptor node) throws IOException {
      assert (hasWriteLock());
  
      // decrement number of blocks scheduled to this datanode.
      node.decBlocksScheduled();
  
      // get the deletion hint node
      DatanodeDescriptor delHintNode = null;
      if (delHint != null && delHint.length() != 0) {
        delHintNode = datanodeMap.get(delHint);
        if (delHintNode == null) {
          NameNode.stateChangeLog.warn("BLOCK* NameSystem.blockReceived: "
            + block
            + " is expected to be removed from an unrecorded node "
            + delHint);
        }
      }
      //
      // Modify the blocks->datanode map and node's map.
      //
      pendingReplications.remove(block);
      return addStoredBlock(block, node, delHintNode);
    }
docs: The given node is reporting that it received a certain block.