You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Rakesh R (JIRA)" <ji...@apache.org> on 2016/03/01 06:59:18 UTC

[jira] [Created] (HDFS-9879) Erasure Coding : schedule striped blocks to be cached on DataNodes

Rakesh R created HDFS-9879:
------------------------------

             Summary: Erasure Coding : schedule striped blocks to be cached on DataNodes
                 Key: HDFS-9879
                 URL: https://issues.apache.org/jira/browse/HDFS-9879
             Project: Hadoop HDFS
          Issue Type: Sub-task
            Reporter: Rakesh R
            Assignee: Rakesh R


This jira to discuss and implement the caching of striped block objects on the appropriate datanode.

Presently it is checking block group size and scheduling the blockGroupId to the datanode, which needs to be refined by checking the {{StripedBlockUtil.getInternalBlockLength()}} and schedule proper blockId to the datanode.
{code}
CacheReplicationMonitor.java

      if (pendingCapacity < blockInfo.getNumBytes()) {
        LOG.trace("Block {}: DataNode {} is not a valid possibility " +
            "because the block has size {}, but the DataNode only has {} " +
            "bytes of cache remaining ({} pending bytes, {} already cached.)",
            blockInfo.getBlockId(), datanode.getDatanodeUuid(),
            blockInfo.getNumBytes(), pendingCapacity, pendingBytes,
            datanode.getCacheRemaining());
        outOfCapacity++;
        continue;
      }

    for (DatanodeDescriptor datanode : chosen) {
      LOG.trace("Block {}: added to PENDING_CACHED on DataNode {}",
          blockInfo.getBlockId(), datanode.getDatanodeUuid());
      pendingCached.add(datanode);
      boolean added = datanode.getPendingCached().add(cachedBlock);
      assert added;
    }
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)