flink-issues 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] (FLINK-10663) Closing StreamingFileSink can cause NPE
Date Wed, 24 Oct 2018 11:51:00 GMT

    [ https://issues.apache.org/jira/browse/FLINK-10663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16662174#comment-16662174
] 

ASF GitHub Bot commented on FLINK-10663:
----------------------------------------

GJL 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_r227754363
 
 

 ##########
 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:
   `bucket` is non-final, and `Cmd + Alt + F7` shows there is only one assignment in `initializeState()`.
One reason why `buckets` can be `null` is that `initializeState()` is not called at all. Another
reason is that `initializeState()` exits prematurely due to exceptions. 
   If there were more things to be closed, we would need more null checks, and I would not
add a comment to every null check. Hence, I would also not add a comment when there is only
a single null check. Imo a comment could be perceived as too verbose because the necessity
of it is simple enough to understand.

----------------------------------------------------------------
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:
users@infra.apache.org


> 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)

Mime
View raw message