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 "dragon (JIRA)" <ji...@apache.org> on 2016/03/15 09:16:35 UTC
[jira] [Created] (HDFS-10059) CLONE - Refactor
DFSStripedOutputStream and StripedDataStreamer
dragon created HDFS-10059:
-----------------------------
Summary: CLONE - Refactor DFSStripedOutputStream and StripedDataStreamer
Key: HDFS-10059
URL: https://issues.apache.org/jira/browse/HDFS-10059
Project: Hadoop HDFS
Issue Type: Sub-task
Components: hdfs-client
Reporter: dragon
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)