Hi, I really not remove anchor ack when I run storm in the unreliable way by setNumAckers to 0.
I think it's simple by changing config to be between reliable and unreliable storm. I'll try it later. Thank you ----- Reply message ----- 寄件者: "Cody A. Ray" <cody.a....@gmail.com> 收件者: <user@storm.incubator.apache.org> 主旨: [Issue] OutOfMemoryError when disable ackers 日期: 週四, 7月 3 日, 2014 年 6:49 上午 My hunch would be that you're anchoring your tuples and without acker tasks these tuple trees are never destroyed. So all the tuples from each batch are kept in memory until you run out of memory, i.e., a very, very fast memory leak. If you disable ackers, you should probably not anchor your tuples either. -Cody On Mon, Jun 30, 2014 at 9:56 PM, jamesw...@yahoo.com.tw <jamesw...@yahoo.com.tw> wrote: Hi all, I use storm 0.9.2 now, and do real-time processing by basic storm. It's normal to use in reliable way. But the speed is extremely slow about 6000 tuples/s. So I try to disable acker feature by conf.setNumAckers(0). However, this leads to following error: java.lang.OutOfMemoryError: GC overhead limit exceeded at java.lang.reflect.Method.copy(Method.java:151) at java.lang.reflect.ReflectAccess.copyMethod(ReflectAccess.java:136) at sun.reflect.ReflectionFactory.copyMethod(ReflectionFactory.java:300) at java.lang.Class.copyMethods(Class.java:2891) at java.lang.Class.getMethods(Class.java:1467) at clojure.lang.Reflector.getMethods(Reflector.java:357) at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:27) at backtype.storm.daemon.worker$mk_transfer_fn$fn__5748.invoke(worker.clj:128) at backtype.storm.daemon.executor$start_batch_transfer__GT_worker_handler_BANG_$fn__5483.invoke(executor.clj:256) at backtype.storm.disruptor$clojure_handler$reify__745.onEvent(disruptor..clj:58) at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:125) at backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:99) at backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:80) at backtype.storm.disruptor$consume_loop_STAR_$fn__758.invoke(disruptor.clj:94) at backtype.storm.util$async_loop$fn__457.invoke(util.clj:431) at clojure.lang.AFn.run(AFn.java:24) at java.lang.Thread.run(Thread.java:745) Can anyone tell me why this happens? Thank you very much. Best regards, James Fu -- Cody A. Ray, LEED AP cody.a....@gmail.com 215.501.7891