[ 
https://issues.apache.org/jira/browse/STORM-3372?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ethan Li updated STORM-3372:
----------------------------
    Fix Version/s:     (was: 2.0.1)
                   2.1.0

> HDFS bolt can throw NPE on shutdown if not using a TimedRotationPolicy
> ----------------------------------------------------------------------
>
>                 Key: STORM-3372
>                 URL: https://issues.apache.org/jira/browse/STORM-3372
>             Project: Apache Storm
>          Issue Type: Bug
>          Components: storm-hdfs
>    Affects Versions: 2.0.0
>            Reporter: Stig Rohde Døssing
>            Assignee: Stig Rohde Døssing
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 2.1.0
>
>          Time Spent: 5h 40m
>  Remaining Estimate: 0h
>
> {quote}42612 [SLOT_1024] ERROR o.a.s.d.s.Slot - Error when processing event
> java.lang.NullPointerException: null
>     at 
> org.apache.storm.hdfs.bolt.AbstractHdfsBolt.cleanup(AbstractHdfsBolt.java:261)
>  ~[f083f1dc515311e9868bcf07babd3298.jar:?]
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> ~[?:1.8.0_112]
>     at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
> ~[?:1.8.0_112]
>     at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[?:1.8.0_112]
>     at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_112]
>     at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93) 
> ~[clojure-1.7.0.jar:?]
>     at clojure.lang.Reflector.invokeNoArgInstanceMember(Reflector.java:313) 
> ~[clojure-1.7.0.jar:?]
>     at org.apache.storm.daemon.executor$fn__9739.invoke(executor.clj:878) 
> ~[storm-core-1.2.1.3.1.0.0-78.jar:1.2.1.3.1.0.0-78]
>     at clojure.lang.MultiFn.invoke(MultiFn.java:233) ~[clojure-1.7.0.jar:?]
>     at 
> org.apache.storm.daemon.executor$mk_executor$reify__9530.shutdown(executor.clj:437)
>  ~[storm-core-1.2.1.3.1.0.0-78.jar:1.2.1.3.1.0.0-78]
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> ~[?:1.8.0_112]
>     at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
> ~[?:1.8.0_112]
>     at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[?:1.8.0_112]
>     at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_112]
>     at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93) 
> ~[clojure-1.7.0.jar:?]
>     at clojure.lang.Reflector.invokeNoArgInstanceMember(Reflector.java:313) 
> ~[clojure-1.7.0.jar:?]
>     at 
> org.apache.storm.daemon.worker$fn__10165$exec_fn__1369__auto__$reify__10167$shutdown_STAR___10187.invoke(worker.clj:684)
>  ~[storm-core-1.2.1.3.1.0.0-78.jar:1.2.1.3.1.0.0-78]
>     at 
> org.apache.storm.daemon.worker$fn__10165$exec_fn__1369__auto__$reify$reify__10213.shutdown(worker.clj:724)
>  ~[storm-core-1.2.1.3.1.0.0-78.jar:1.2.1.3.1.0.0-78]
>     at 
> org.apache.storm.ProcessSimulator.killProcess(ProcessSimulator.java:67) 
> ~[storm-core-1.2.1.3.1.0.0-78.jar:1.2.1.3.1.0.0-78]
>     at 
> org.apache.storm.daemon.supervisor.LocalContainer.kill(LocalContainer.java:69)
>  ~[storm-core-1.2.1.3.1.0.0-78.jar:1.2.1.3.1.0.0-78]
>     at 
> org.apache.storm.daemon.supervisor.Slot.killContainerForChangedAssignment(Slot.java:311)
>  ~[storm-core-1.2.1.3.1.0.0-78.jar:1.2.1.3.1.0.0-78]
>     at org.apache.storm.daemon.supervisor.Slot.handleRunning(Slot.java:527) 
> ~[storm-core-1.2.1.3.1.0.0-78.jar:1.2.1.3.1.0.0-78]
>     at 
> org.apache.storm.daemon.supervisor.Slot.stateMachineStep(Slot.java:265) 
> ~[storm-core-1.2.1.3.1.0.0-78.jar:1.2.1.3.1.0.0-78]
>     at org.apache.storm.daemon.supervisor.Slot.run(Slot.java:752) 
> [storm-core-1.2.1.3.1.0.0-78.jar:1.2.1.3.1.0.0-78]{quote}
> The error is due to a bug in storm-hdfs.
> That variable in 
> https://github.com/apache/storm/blob/v1.2.1/external/storm-hdfs/src/main/java/org/apache/storm/hdfs/bolt/AbstractHdfsBolt.java#L261
>  is only initialized if the rotation policy is a TimedRotationPolicy, which 
> yours isn't.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to