Tsz Wo Nicholas Sze created HDFS-8288:
-----------------------------------------

             Summary: Refactor DFSStripedOutputStream and StripedDataStreamer
                 Key: HDFS-8288
                 URL: https://issues.apache.org/jira/browse/HDFS-8288
             Project: Hadoop HDFS
          Issue Type: Sub-task
          Components: hdfs-client
            Reporter: Tsz Wo Nicholas Sze
            Assignee: Tsz Wo Nicholas Sze


- DFSStripedOutputStream has a list of StripedDataStreamer(s).  The streamers 
share a data structure List<BlockingQueue<LocatedBlock>> stripeBlocks for 
communicate located block and end block information.
For example,
{code}
//StripedDataStreamer.endBlock()
      // before retrieving a new block, transfer the finished block to
      // leading streamer
      LocatedBlock finishedBlock = new LocatedBlock(
          new ExtendedBlock(block.getBlockPoolId(), block.getBlockId(),
              block.getNumBytes(), block.getGenerationStamp()), null);
      try {
        boolean offSuccess = stripedBlocks.get(0).offer(finishedBlock, 30,
            TimeUnit.SECONDS);
{code}
It is unnecessary to create a LocatedBlock object for an end block since the 
locations passed is null.  Also, the return value is ignored (i.e. offSuccess 
is not used).

- DFSStripedOutputStream has another data structure cellBuffers for computing 
parity.  It should be refactored to a class.



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

Reply via email to