[ 
https://issues.apache.org/jira/browse/HDFS-7889?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhe Zhang updated HDFS-7889:
----------------------------
    Attachment: HDFS-7889-003.patch

Thanks Bo for the rev!

bq. super.writeChunk just writes a chunk(typically 512 bytes) to currentPacket, 
a packet is typically about 64K bytes, so currentPacket may not be null if it 
is not full.
I see, thanks for clarifying

bq. I think DataStreamer should not be aware of the existence of other streamers
This is a good thought. A generic {{DataStreamer}} should indeed be unaware of 
other streamers. However, in the EC context, it would simplify the code a lot 
if each streamer has an index. Then they can simply coordinate with each other 
through the queue of located blocks.

I think we can subclass {{DataStreamer}} to achieve this. By subclassing we can 
also avoid adding the queue of located blocks in {{DataStreamer}}, which 
doesn't make sense for a generic streamer. I'm attaching a new patch to 
illustrate the idea (the logic is similar as the HDFS-7729 patch). Please let 
me know your opinion on this.

Some other comments:
# From a technical perspective I'm OK with having a factory class for output 
streams. However that will lead to another big change to {{DFSOutputStream}}, 
which unfortunately is not suitable to push to trunk. This will potentially 
cause a lot of merge conflicts. Maybe we can just use a simple if statement in 
{{DFSClient}}?
# The logic {{unwrapBlockGroup}} is needed by both input and output streams. 
Let's leave it here now. In HDFS-7782 I can add a common utility class and move 
the logic there.

> Subclass DFSOutputStream to support writing striping layout files
> -----------------------------------------------------------------
>
>                 Key: HDFS-7889
>                 URL: https://issues.apache.org/jira/browse/HDFS-7889
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Li Bo
>            Assignee: Li Bo
>         Attachments: HDFS-7889-001.patch, HDFS-7889-002.patch, 
> HDFS-7889-003.patch
>
>
> After HDFS-7888, we can subclass  {{DFSOutputStream}} to support writing 
> striping layout files. 



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

Reply via email to