gora-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (GORA-467) Flushing DataOutputStream before calling toByteArray on the underlying ByteArrayOutputStream
Date Fri, 05 Feb 2016 06:34:39 GMT

    [ https://issues.apache.org/jira/browse/GORA-467?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15133747#comment-15133747

ASF GitHub Bot commented on GORA-467:

Github user lewismc commented on the pull request:

    @emopers thanks great, I will merge thus patch. 
    BTW, on another note, I noticed that there a bunch of 'similar' issues present within
gora-accumulo's [BinaryEncoder](https://analysis.apache.org/dashboard/index?id=org.apache.gora%3Agora-accumulo%3Asrc%2Fmain%2Fjava%2Forg%2Fapache%2Fgora%2Faccumulo%2Fencoders%2FBinaryEncoder.java),
the issues as specifically highlighted by the [Sonar Analysis](https://analysis.apache.org/component_issues?id=org.apache.gora%3Agora#resolved=false|severities=CRITICAL)
we have running after builds. 

> Flushing DataOutputStream before calling toByteArray on the underlying ByteArrayOutputStream
> --------------------------------------------------------------------------------------------
>                 Key: GORA-467
>                 URL: https://issues.apache.org/jira/browse/GORA-467
>             Project: Apache Gora
>          Issue Type: Bug
>          Components: gora-core
>            Reporter: emopers
>            Priority: Minor
> In ./gora-core/src/test/java/org/apache/gora/util/TestWritableUtils.java
> {code}
> ByteArrayOutputStream bos = new ByteArrayOutputStream();
>     DataOutput out = new DataOutputStream(bos);
>     WritableUtils.writeProperties(out, props);
>     DataInput in = new DataInputStream(new ByteArrayInputStream(bos.toByteArray()));
> {code}
> When a DataOutputStream instance wraps an underlying ByteArrayOutputStream instance,
> it is recommended to flush or close the DataOutputStream before invoking the underlying
instances's toByteArray(). Also, it is a good practice to call flush/close explicitly as mentioned
for example at http://stackoverflow.com/questions/2984538/how-to-use-bytearrayoutputstream-and-dataoutputstream-simultaneously-java.
> The patch adds a flush method before calling toByteArray().

This message was sent by Atlassian JIRA

View raw message