[
https://issues.apache.org/jira/browse/HADOOP-15056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16272219#comment-16272219
]
Jack Bearden commented on HADOOP-15056:
---------------------------------------
What about the streams that call unbuffer() without the UNBUFFER cap? If the
CanUnbuffer cast always succeeds due to the query, there is no reporting
happening to inform the user that there is a problem. The user would not know
that unbuffer() isn't working on their poorly implemented stream and ultimately
miss out on the resource benefits and never know about it. You see what I mean?
How about something like this?
{code:java}
public static void unbuffer(InputStream in) {
try {
if (in instanceof StreamCapabilities
&& ((StreamCapabilities)
in).hasCapability(StreamCapabilities.UNBUFFER)) {
((CanUnbuffer) in).unbuffer();
} else {
LOG.warn("claims to unbuffer but forgets to implement CanUnbuffer");
}
} catch (ClassCastException e) {
throw new UnsupportedOperationException("failed to cast input stream to
unbuffer, "
+ "you should never see this");
}
}
{code}
> Fix TestUnbuffer#testUnbufferException failure
> ----------------------------------------------
>
> Key: HADOOP-15056
> URL: https://issues.apache.org/jira/browse/HADOOP-15056
> Project: Hadoop Common
> Issue Type: Improvement
> Affects Versions: 2.9.0
> Reporter: Jack Bearden
> Assignee: Jack Bearden
> Priority: Minor
> Attachments: HADOOP-15056.001.patch, HADOOP-15056.002.patch
>
>
> Hello! I am a new contributor and actually contributing to open source for
> the very first time. :)
> I pulled down Hadoop today and when running the tests I encountered a failure
> with the TestUnbuffer#testUnbufferException test.
> The unbuffer code has recently gone through some changes and I believe this
> test case may have been overlooked. Using today's git commit
> (659e85e304d070f9908a96cf6a0e1cbafde6a434), and upon running the test case,
> there is an expect mock for an exception UnsupportedOperationException that
> is no longer being thrown.
> It would appear that a test like this would be valuable so my initial
> proposed patch did not remove it. Instead, I removed the conditions that were
> guarding the cast from being able to fire -- as was the previous behavior.
> Now when we encounter an object that doesn't have the UNBUFFERED
> StreamCapability, it will throw an error as it did prior to the recent
> changes.
> Please review and let me know what you think! :D
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]