It looks like it probably has something to do with your changes.  
executor.clj:793 is the line that the NPE is happening on.
The code out on the 1.x-branch does not have any code executing on line 793.  
It is a closing paren for an if

https://github.com/apache/storm/blob/1.x-branch/storm-core/src/clj/org/apache/storm/daemon/executor.clj#L793

Now it could be some bug in clojure itself that is putting things on an odd 
line, but I think it is more likely that you have some code on line 793 that 
you added and is causing an issue. - Bobby 

    On Sunday, March 27, 2016 7:47 PM, vibha goyal <[email protected]> wrote:
 

 Hi,


I am grad student, and I am working on Storm as a part of my course project.
I am trying optimizing the acking.

I have created a new field in TupleImpl: which is a long.
I have created two methods:
1. for fetching the value of that variable.
2. for incrementing.

public long getCurrTupleCount()
    {
        return currTupleCount;
    }

    public void incrementCurrTupleCount()
    {
        currTupleCount = currTupleCount+1;
    }


I am calling these functions from bolt-emit.

(if (= 1 (.get task_counter))
    ((.incrementCurrTupleCount a)
    (log-message " VIBHA: Incremented CurrTupleCount:")))

(log-message "VIBHA: CurrTupleCount: " (.getCurrTupleCount a))


I am getting following error during runtime:
If I comment the above code, then the issue does not occur.
Am I doing some basic mistake?
I am new to clojure. Can anyone please look into it?
Thanks alot!


java.lang.RuntimeException: java.lang.NullPointerException
        at
org.apache.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:448)
~[storm-core-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
        at
org.apache.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:414)
~[storm-core-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
        at
org.apache.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:73)
~[storm-core-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
        at
org.apache.storm.daemon.executor$fn__6297$fn__6310$fn__6389.invoke(executor.clj:913)
~[storm-core-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
        at org.apache.storm.util$async_loop$fn__560.invoke(util.clj:484)
[storm-core-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
        at clojure.lang.AFn.run(AFn.java:22) [clojure-1.7.0.jar:?]
        at java.lang.Thread.run(Thread.java:745) [?:1.7.0_99]
Caused by: java.lang.NullPointerException
        at
org.apache.storm.daemon.executor$fn__6297$fn__6310$bolt_emit__6316.invoke(executor.clj:793)
~[storm-core-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
        at
org.apache.storm.daemon.executor$fn__6297$fn$reify__6331.emit_tokens(executor.clj:852)
~[storm-core-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
        at
org.apache.storm.task.OutputCollector.emit_tokens(OutputCollector.java:208)
~[storm-core-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
        at
org.apache.storm.starter.ExclamationTopology_3_out_task$ExclamationBolt.execute(ExclamationTopology_3_out_task.java:54)
~[stormjar.jar:1.0.0-SNAPSHOT]
        at
org.apache.storm.daemon.executor$fn__6297$tuple_action_fn__6299.invoke(executor.clj:742)
~[storm-core-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
        at
org.apache.storm.daemon.executor$mk_task_receiver$fn__6212.invoke(executor.clj:463)
~[storm-core-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
        at
org.apache.storm.disruptor$clojure_handler$reify__5728.onEvent(disruptor.clj:40)
~[storm-core-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
        at
org.apache.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:435)
~[storm-core-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]


  

Reply via email to