Uploaded image for project: 'Apache Storm'
  1. Apache Storm
  2. STORM-3035

JMS Spout ack method causes failure in some cases

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.0
    • Component/s: None

      Description

      JMS Spout ack method assumes that the set "toCommit" is always non-empty but if a fail is invoked (that clears the "toCommit") followed by an ack, it can cause failure.

       

      2018-03-09 08:43:03,220 GMT-0500 MCO-432882-L2 [Thread-36-inboundSpout-executor[5 5]] 7.0.0 ERROR 
      logging$eval1$fn__7.invoke Async loop died! java.lang.RuntimeException: java.util.NoSuchElementException at 
      org.apache.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:485) ~[storm-core-1.1.0.2.6.3.0-
      235.jar:1.1.0.2.6.3.0-235] at 
      org.apache.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:451) ~[storm-core-
      1.1.0.2.6.3.0-235.jar:1.1.0.2.6.3.0-235] at 
      org.apache.storm.utils.DisruptorQueue.consumeBatch(DisruptorQueue.java:441) ~[storm-core-1.1.0.2.6.3.0-
      235.jar:1.1.0.2.6.3.0-235] at org.apache.storm.disruptor$consume_batch.invoke(disruptor.clj:69) ~[storm-core-
      1.1.0.2.6.3.0-235.jar:1.1.0.2.6.3.0-235] at 
      org.apache.storm.daemon.executor$fn__6856$fn__6871$fn__6902.invoke(executor.clj:627) ~[storm-core-1.1.0.2.6.3.0-
      235.jar:1.1.0.2.6.3.0-235] at org.apache.storm.util$async_loop$fn__555.invoke(util.clj:484) [storm-core-
      1.1.0.2.6.3.0-235.jar:1.1.0.2.6.3.0-235] at clojure.lang.AFn.run(AFn.java:22) [clojure-1.7.0.jar:?] at 
      java.lang.Thread.run(Thread.java:745) [?:1.8.0_111] Caused by: java.util.NoSuchElementException at 
      java.util.TreeMap.key(TreeMap.java:1327) ~[?:1.8.0_111] at java.util.TreeMap.firstKey(TreeMap.java:290) ~
      [?:1.8.0_111] at java.util.TreeSet.first(TreeSet.java:394) ~[?:1.8.0_111] at 
      org.apache.storm.jms.spout.JmsSpout.ack(JmsSpout.java:251) ~[classes/:?] at 
      org.apache.storm.daemon.executor$ack_spout_msg.invoke(executor.clj:446) ~[storm-core-1.1.0.2.6.3.0-235.jar:1.1.0.2.6.3.0-235] at org.apache.storm.daemon.executor$fn__6856$tuple_action_fn__6862.invoke(executor.clj:535) ~[storm-core-1.1.0.2.6.3.0-235.jar:1.1.0.2.6.3.0-235] at org.apache.storm.daemon.executor$mk_task_receiver$fn__6845.invoke(executor.clj:462) ~[storm-core-1.1.0.2.6.3.0-235.jar:1.1.0.2.6.3.0-235] at org.apache.storm.disruptor$clojure_handler$reify__6558.onEvent(disruptor.clj:40) ~[storm-core-1.1.0.2.6.3.0-235.jar:1.1.0.2.6.3.0-235] at org.apache.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:472) ~[storm-core-1.1.0.2.6.3.0-235.jar:1.1.0.2.6.3.0-235] ... 7 more
      
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                arunmahadevan Arun Mahadevan
                Reporter:
                arunmahadevan Arun Mahadevan
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 4.5h
                  4.5h