[
https://issues.apache.org/jira/browse/FLINK-10663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16662141#comment-16662141
]
ASF GitHub Bot commented on FLINK-10663:
----------------------------------------
kl0u commented on a change in pull request #6915: [FLINK-10663][streaming] Fix
NPE when StreamingFileSink is closed without initialization.
URL: https://github.com/apache/flink/pull/6915#discussion_r227746375
##########
File path:
flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/sink/filesystem/StreamingFileSink.java
##########
@@ -375,6 +375,8 @@ public void invoke(IN value, SinkFunction.Context context)
throws Exception {
@Override
public void close() throws Exception {
- buckets.close();
+ if (buckets != null) {
Review comment:
Here I would also add a comment to explain when this can be `null`. I know
it is covered by a test, but it is nice to also explain the why.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Closing StreamingFileSink can cause NPE
> ---------------------------------------
>
> Key: FLINK-10663
> URL: https://issues.apache.org/jira/browse/FLINK-10663
> Project: Flink
> Issue Type: Bug
> Components: filesystem-connector, Streaming Connectors
> Affects Versions: 1.6.1, 1.7.0
> Environment: Rev cb141940821bcf62f4102dfd5c76aff99d0c15d1
> Reporter: Gary Yao
> Assignee: Gary Yao
> Priority: Critical
> Labels: pull-request-available
> Fix For: 1.6.3, 1.7.0
>
>
> *Description*
> If the sink is closed before it's state is initialized, an NPE is thrown.
> *Stacktrace*
> {code}
> java.lang.NullPointerException
> at
> org.apache.flink.streaming.api.functions.sink.filesystem.StreamingFileSink.close(StreamingFileSink.java:378)
> at
> org.apache.flink.api.common.functions.util.FunctionUtils.closeFunction(FunctionUtils.java:43)
> at
> org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.dispose(AbstractUdfStreamOperator.java:117)
> at
> org.apache.flink.streaming.runtime.tasks.StreamTask.disposeAllOperators(StreamTask.java:477)
> at
> org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:378)
> at org.apache.flink.runtime.taskmanager.Task.run(Task.java:704)
> at java.lang.Thread.run(Thread.java:748)
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)