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 "Vladimir Rodionov (JIRA)" <ji...@apache.org> on 2016/03/23 00:31:25 UTC
[jira] [Resolved] (HDFS-10194) FSDataOutputStream.write() allocates
new byte buffer on each operation
[ https://issues.apache.org/jira/browse/HDFS-10194?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vladimir Rodionov resolved HDFS-10194.
--------------------------------------
Resolution: Invalid
HDFS-7276 provides ByteArrayManager which is off, by default. Enabling this feature resolves the issue.
> FSDataOutputStream.write() allocates new byte buffer on each operation
> ----------------------------------------------------------------------
>
> Key: HDFS-10194
> URL: https://issues.apache.org/jira/browse/HDFS-10194
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: hdfs-client
> Affects Versions: 2.7.1
> Reporter: Vladimir Rodionov
>
> This is the code:
> {code}
> private DFSPacket createPacket(int packetSize, int chunksPerPkt, long offsetInBlock, long seqno, boolean lastPacketInBlock) throws InterruptedIOException {
> final byte[] buf;
> final int bufferSize = PacketHeader.PKT_MAX_HEADER_LEN + packetSize;
>
> try {
> buf = byteArrayManager.newByteArray(bufferSize);
> } catch (InterruptedException ie) {
> final InterruptedIOException iioe = new InterruptedIOException(
> "seqno=" + seqno);
> iioe.initCause(ie);
> throw iioe;
> }
>
> return new DFSPacket(buf, chunksPerPkt, offsetInBlock, seqno,
> getChecksumSize(), lastPacketInBlock);
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)