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