[ https://issues.apache.org/jira/browse/HDFS-8957?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zhe Zhang updated HDFS-8957: ---------------------------- Component/s: erasure-coding > Consolidate client striping input stream codes for stateful read and > positional read > ------------------------------------------------------------------------------------ > > Key: HDFS-8957 > URL: https://issues.apache.org/jira/browse/HDFS-8957 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: erasure-coding > Reporter: Kai Zheng > Assignee: Kai Zheng > Attachments: HDFS-8957-v1.patch > > > Currently we have different implementations for client striping read, having > both *StatefulStripeReader* and *PositionStripeReader*. I attempted to > consolidate the two implementations into one, and it results in much simpler > codes, and also better performance. Now in both read paths, it will: > * Use pooled ByteBuffers, as currently stateful read does; > * Read directly into application's buffer, as currently positional read does; > * Try to align and merge multiple stripes, as currently positional read does; > * Use *ECChunk* version decode API. > The resultant *StripeReader* is approaching very near now to the ideal state > desired by next step, employing *ErasureCoder* API instead of > *RawErasureCoder* API. > Will upload an initial patch to illustrate the rough change, even though it > depends on other issues. -- This message was sent by Atlassian JIRA (v6.3.4#6332)