[
https://issues.apache.org/jira/browse/GORA-467?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15132845#comment-15132845
]
ASF GitHub Bot commented on GORA-467:
-------------------------------------
Github user lewismc commented on the pull request:
https://github.com/apache/gora/pull/55#issuecomment-180013294
Hi, thanks for the pull request. Are there any other instances of this
behavior throughout the codebase? If so it would be real nice to catch them all
at the same time.
> 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
(v6.3.4#6332)