Skip to content

STORM-350: Upgrade to newer version of disruptor - #797

Merged
asfgit merged 6 commits into
apache:masterfrom
revans2:disruptor-upgrade
Oct 28, 2015
Merged

STORM-350: Upgrade to newer version of disruptor#797
asfgit merged 6 commits into
apache:masterfrom
revans2:disruptor-upgrade

Conversation

@revans2

Copy link
Copy Markdown
Contributor

This replaces #750 because I rebased.

@HeartSaVioR I think I found the bug that you saw. @kishorvpatil was doing scale testing and found an NPE issue. There was a race condition when a read was timing out and I badly tried to read after the timeout instead of just returning.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@revans2
I think we can remove this class. It is public class, but it's for internal usage, and can be replaced to AtomicReference as you changed.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can probably remove the changes I made to the class but it is used in other places in the code still.

$ find ./storm-core/ -iname \*.clj | xargs grep -l MutableObject
./storm-core//src/clj/backtype/storm/daemon/acker.clj
./storm-core//src/clj/backtype/storm/daemon/executor.clj
./storm-core//src/clj/backtype/storm/messaging/loader.clj
./storm-core//src/clj/backtype/storm/util.clj

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@revans2 Oh, OK. Let's keep.

@HeartSaVioR

Copy link
Copy Markdown
Contributor

@revans2
I'm sorry but could you elaborate, please?

NPE could be occurred that we were reading same offset two or more times since we set offset to null after reading.

I don't know Disruptor deeply, but as far as I understand, I think consumeBatchWhenAvailable() seems not be thread safe unless _barrier.waitFor() forces wait for other thread to read datas first, since there're timing issue between modification of cursor and getting current cursor before calling _barrier.waitFor().

If consumeBatchWhenAvailable() is not thread-safe, revised consumeBatch() is not thread-safe, too.

@darionyaphet

Copy link
Copy Markdown
Contributor

Hi @revans2 do you test new version disruptor ? Would you know how much performance improvement ? thanks you for you work~

@revans2

Copy link
Copy Markdown
ContributorAuthor

@HeartSaVioR

The original version of consumeBatch looked like this.

 public void consumeBatch(EventHandler<Object> handler) {
consumeBatchToCursor(_barrier.getCursor(), handler);
}

where as consumeBatchWhenAvailable will wait for the cursor to be available.

 _barrier.waitFor(nextSequence)

I am not sure what happened in the disruptor code between the old version and the new version, but simply getting the cursor from the barrier does not guarantee that it has been committed. It may still be being updated. Perhaps this has always been a problem but we lose the race a lot more frequently with the newer code.

When I originally wrote the disruptor upgrade code I copied/modified the code so that we could do batching on the receiver side, not on the sender side. This didn't help as much as I had hoped, but I also left in some code that when the timeout happened it would try to do something similar to what consumeBatch did, so we could read as much of the batch as possible. This also resulted in the same issue, but it would only show up when a timeout happened on read, meaning the queue was empty for 1 ms, and right at that moment something was inserted into the queue. Surprisingly with word count on 16 workers it only takes about 10 mins to reproduce the issue. My tests were pushing things as fast as possible so they never let any queue stay empty for more then 1 ms.

The fix was to remove the special handling in the Timeout, and just say there was nothing to process so loop around and try again.

@revans2

Copy link
Copy Markdown
ContributorAuthor

@darionyaphet I have seen only small changes to the performance of storm. It is close to nothing really, but in my micro-benchmarks I see about between a 6% and 26% improvement in maximum throughput.

The big reason for upgrading is that the APIs are improved so that we can support #765. In that I have seen a maximum throughput for a single node more then double. Making a faster version of wordcount go from 10,000 sentences/second fully counted to 22,000, on my Mac Book Pro laptop. If you include acking and everything else that happens that is going from 320,000 tuples/second sent+processed to 704,000 tuples/second. Be aware that you are not likely to see this in real life on a single topology, as the messaging layer is likely to slow things down, and wordcount is a very light weight processing. Real world processing is usually more intensive.

But this is just the beginning we are working on benchmarks and subsequent optimizations all throughput the critical path of storm.

@kishorvpatil

Copy link
Copy Markdown
Contributor

LGTM. +1.
@HeartSaVioR would you like to revisit and see Bobby's changes have addressed you comment. We have been running this in our staging for some time now and I would like to pull this one in if you have no objections.

@HeartSaVioR

Copy link
Copy Markdown
Contributor

@revans2@kishorvpatil
I was seeing failed tuples constantly so I couldn't vote +1.
I'm suspecting that auto back pressure is in effect since throughput drops continuously after some minutes launched perftest.
I'll re-test with disabling auto back pressure.

@kishorvpatil

Copy link
Copy Markdown
Contributor

@HeartSaVioR We are not seeing any tuple loss, so there as way can we reproduce it? Some details on what topology, cluster setup and/or h/w to help us reproduce and investigate might help.

@binhnv

Copy link
Copy Markdown

@HeartSaVioR It may because of your send and receive buffer settings. What is the value of those settings for worker and executor?

@HeartSaVioR

Copy link
Copy Markdown
Contributor

@kishorvpatil@binhnv@revans2

Here's my current storm.yaml.

worker.childopts: "-Dfile.encoding=UTF-8 -Xmx768m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/daum/logs/storm/heapdump.hprof -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=1%ID% -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
topology.backpressure.enable: false
topology.transfer.buffer.size: 32
topology.executor.send.buffer.size: 16384
topology.executor.receive.buffer.size: 16384

I used topology.backpressure.enable, topology.transfer.buffer.size, topology.executor.send.buffer.size, topology.executor.receive.buffer.size as default but no luck.
I changed these values as http://www.michael-noll.com/blog/2013/06/21/understanding-storm-internal-message-buffers but also no luck.

Failed tuples appear within 3 minutes, which is same as we were seen from #134 (origin STORM-350).

storm-350-failed-20151024-try-01

I'm using VMs (IaaS on my office), but without Disruptor 3.3.2 it doesn't show failed tuples.

I ran perftest on command line.

storm jar storm_perf_test-1.0.0-SNAPSHOT-jar-for-0.10.0-rc-with-dependencies.jar com.yahoo.storm.perftest.Main --ack --ackers 3 --bolt 4 --name test -l 1 -n 1 --workers 3 --spout 3 --testTimeSec 900 -c topology.max.spout.pending=1092 --messageSize 10

Here's log.

1034 [main] INFO c.y.s.p.Main - Adding in 3 spouts
1081 [main] INFO c.y.s.p.Main - Adding in 4 bolts
1231 [main] INFO b.s.StormSubmitter - Generated ZooKeeper secret payload for MD5-digest: -6427640641721598663:-8827787475099997913
1236 [main] INFO b.s.s.a.AuthUtils - Got AutoCreds []
1297 [main] INFO b.s.StormSubmitter - Uploading topology jar storm_perf_test-1.0.0-SNAPSHOT-jar-for-0.10.0-rc-with-dependencies.jar to assigned location: /data1/storm/nimbus/inbox/stormjar-38afac0d-a0d8-49a6-8529-7705d89280e9.jar
1326 [main] INFO b.s.StormSubmitter - Successfully uploaded topology jar to assigned location: /data1/storm/nimbus/inbox/stormjar-38afac0d-a0d8-49a6-8529-7705d89280e9.jar
1326 [main] INFO b.s.StormSubmitter - Submitting topology test_0 in distributed mode with conf {"storm.zookeeper.topology.auth.scheme":"digest","storm.zookeeper.topology.auth.payload":"-6427640641721598663:-8827787475099997913","topology.workers":3,"topology.acker.executors":3,"topology.debug":false,"topology.max.spout.pending":1092}
1520 [main] INFO b.s.StormSubmitter - Finished submitting topology: test_0
status topologies totalSlots slotsUsed totalExecutors executorsWithMetrics time time-diff ms transferred throughput (MB/s)
WAITING 1 12 0 13 0 1445640974611 0 0 0.0
WAITING 1 12 3 13 13 1445641004611 30000 72600 0.02307891845703125
WAITING 1 12 3 13 13 1445641034612 30001 608340 0.1933796318931296
RUNNING 1 12 3 13 13 1445641064611 29999 783820 0.24917797349429877
RUNNING 1 12 3 13 13 1445641094611 30000 200520 0.06374359130859375
RUNNING 1 12 3 13 13 1445641124611 30000 17140 0.005448659261067708
RUNNING 1 12 3 13 13 1445641154612 30001 0 0.0
RUNNING 1 12 3 13 13 1445641184611 29999 17980 0.0057158785989480905
RUNNING 1 12 3 13 13 1445641214611 30000 0 0.0
RUNNING 1 12 3 13 13 1445641244611 30000 18180 0.005779266357421875
RUNNING 1 12 3 13 13 1445641274611 30000 0 0.0
RUNNING 1 12 3 13 13 1445641304611 30000 17620 0.005601247151692708
RUNNING 1 12 3 13 13 1445641334611 30000 0 0.0
RUNNING 1 12 3 13 13 1445641364611 30000 16800 0.005340576171875
RUNNING 1 12 3 13 13 1445641394611 30000 0 0.0
RUNNING 1 12 3 13 13 1445641424611 30000 17500 0.005563100179036458
RUNNING 1 12 3 13 13 1445641454611 30000 0 0.0
RUNNING 1 12 3 13 13 1445641484611 30000 17840 0.005671183268229167
RUNNING 1 12 3 13 13 1445641514611 30000 0 0.0
RUNNING 1 12 3 13 13 1445641544611 30000 18260 0.005804697672526042
RUNNING 1 12 3 13 13 1445641574611 30000 0 0.0
RUNNING 1 12 3 13 13 1445641604612 30001 17980 0.0057154975530763555
RUNNING 1 12 3 13 13 1445641634611 29999 0 0.0
RUNNING 1 12 3 13 13 1445641664611 30000 18000 0.0057220458984375
RUNNING 1 12 3 13 13 1445641694611 30000 0 0.0
RUNNING 1 12 3 13 13 1445641724611 30000 17720 0.005633036295572917
RUNNING 1 12 3 13 13 1445641754611 30000 0 0.0
RUNNING 1 12 3 13 13 1445641784611 30000 18720 0.005950927734375
RUNNING 1 12 3 13 13 1445641814611 30000 0 0.0
RUNNING 1 12 3 13 13 1445641844612 30001 18640 0.005925298909307189
RUNNING 1 12 3 13 13 1445641874611 29999 0 0.0
RUNNING 1 12 3 13 13 1445641904612 30001 18160 0.005772716104775674
RUNNING 1 12 3 13 13 1445641934611 29999 0 0.0

It nearly stops functioning but I couldn't find any warning / error from worker logs.

It may help if we can share perftest jar / binary dist file which applies STORM-350 (with Disruptor 3.3.2) / binary dist file which doesn't apply STORM-350 (with Disruptor 2.10.4).

@harshach

Copy link
Copy Markdown
Contributor

disruptor-patch

@HeartSaVioR I ran the patch with few topologies including acking. But don't see failed tuples. Can you tell me which topology you are running.

@revans2

Copy link
Copy Markdown
ContributorAuthor

@HeartSaVioR I am seeing similar things to what @harshach is seeing. I really want to trace this down and fix it. How many nodes do you have? Which daemons are running on which nodes? What is version of java you are running? What OS are you running on? Can you share some information about the hardware, I know it is VMs but number of cores and frequency would be good. What is the network connection between the nodes?

The failures you are seeing look like what I would see when ZK or the network would get overloaded. The heartbeats could not make it to ZK and so it didn't show any change in the data some of the time, but with only 3 workers and none of them getting rescheduled I find that hard to believe. Can you share any of the logs? Have you tried to run zktop to see if any of the nodes in the ensemble are showing signs of slowness. Have you looked to see if the network and disk utilization?

@HeartSaVioR

Copy link
Copy Markdown
Contributor

@harshach
I ran performance test using https://github.com/yahoo/storm-perf-test that @revans2 created.

@revans2

  • 3 machines (All machines are VM)
  • CPU:
    • lscpu says
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 2
Core(s) per socket: 1
CPU socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 45
Stepping: 7
CPU MHz: 1995.244
BogoMIPS: 3990.48
Hypervisor vendor: Xen
Virtualization type: para
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 20480K
NUMA node0 CPU(s): 0,1
  • RAM: 8 GB
  • JDK: Oracle JDK 1.7.0.51
  • OS: RHEL 6.3
  • Processes
    • ZK is installed for all 3 VMs
    • Nimbus, UI are installed for the first VM
    • Supervisor, DRPC, Logviewer are installed for all 3 VMs
  • I didn't check CPU / Memory / network / disk utilization. I'll re-run perftest and check that when I'm available.
  • I'll re-run perftest without this patch and share the result.

Btw, I can't get idle PMs so I have to run perftest via VMs. :(

@revans2

Copy link
Copy Markdown
ContributorAuthor

@HeartSaVioR I am still not seeing any errors.

I just pushed the exact version of the code that I tested with dfba63e I created 3 VMs that are similar to yours, but with less memory because my VM quota on our IaaS didn't have that much memory left.

$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.3 (Santiago)
$ java -version
java version "1.7.0_51"
$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 13
model name : QEMU Virtual CPU version (cpu64-rhel6)
stepping : 3
cpu MHz : 2094.950
cache size : 4096 KB
fpu : yes
fpu_exception : yes
cpuid level : 4
wp : yes
flags : fpu de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm unfair_spinlock pni cx16 hypervisor lahf_lm
bogomips : 4189.90
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 13
model name : QEMU Virtual CPU version (cpu64-rhel6)
stepping : 3
cpu MHz : 2094.950
cache size : 4096 KB
fpu : yes
fpu_exception : yes
cpuid level : 4
wp : yes
flags : fpu de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm unfair_spinlock pni cx16 hypervisor lahf_lm
bogomips : 4189.90
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:

I modified the perf-test to also print the number of failed tuples so I would not have to keep refreshing the UI all the time. I just pushed that to the perf-test repo yahoo/storm-perf-test@96d6579

I ran the same command multiple times, each with a very similar result.

908 [main] WARN b.s.u.NimbusClient - Using deprecated config nimbus.host for backward compatibility. Please update your storm.yaml so it only has config nimbus.seeds
1084 [main] INFO c.y.s.p.Main - Adding in 3 spouts
1126 [main] INFO c.y.s.p.Main - Adding in 4 bolts
1267 [main] INFO b.s.StormSubmitter - Generated ZooKeeper secret payload for MD5-digest: -5117308553277668052:-5039407269887585982
1273 [main] INFO b.s.s.a.AuthUtils - Got AutoCreds []
1273 [main] WARN b.s.u.NimbusClient - Using deprecated config nimbus.host for backward compatibility. Please update your storm.yaml so it only has config nimbus.seeds
1310 [main] WARN b.s.u.NimbusClient - Using deprecated config nimbus.host for backward compatibility. Please update your storm.yaml so it only has config nimbus.seeds
1361 [main] WARN b.s.u.NimbusClient - Using deprecated config nimbus.host for backward compatibility. Please update your storm.yaml so it only has config nimbus.seeds
1403 [main] INFO b.s.StormSubmitter - Uploading topology jar ./storm_perf_test-1.0.0-SNAPSHOT-jar-with-dependencies.jar to assigned location: /home/ME/apache-storm-0.11.0-SNAPSHOT/storm-local/nimbus/inbox/stormjar-e1d3ca41-9ffe-466d-81dd-33e7f90b8367.jar
1420 [main] INFO b.s.StormSubmitter - Successfully uploaded topology jar to assigned location: /home/ME/apache-storm-0.11.0-SNAPSHOT/storm-local/nimbus/inbox/stormjar-e1d3ca41-9ffe-466d-81dd-33e7f90b8367.jar
1420 [main] INFO b.s.StormSubmitter - Submitting topology test_0 in distributed mode with conf {"storm.zookeeper.topology.auth.scheme":"digest","storm.zookeeper.topology.auth.payload":"-5117308553277668052:-5039407269887585982","topology.workers":3,"topology.acker.executors":3,"topology.debug":false,"topology.max.spout.pending":1092}
1530 [main] INFO b.s.StormSubmitter - Finished submitting topology: test_0
status topologies totalSlots slotsUsed totalExecutors executorsWithMetrics time time-diff ms transferred throughput (MB/s) total Failed
WAITING 1 12 0 0 0 1445955023986 0 0 0.0 0
WAITING 1 12 3 13 10 1445955053986 30000 69560 0.022112528483072918 0
WAITING 1 12 3 13 10 1445955083986 30000 1012280 0.32179514567057294 0
WAITING 1 12 3 13 11 1445955113986 30000 1346940 0.4281806945800781 0
WAITING 1 12 3 13 11 1445955143986 30000 1419380 0.45120875040690106 0
WAITING 1 12 3 13 11 1445955173986 30000 1315180 0.41808446248372394 0
WAITING 1 12 3 13 11 1445955203987 30001 1324780 0.4211221828901276 0
WAITING 1 12 3 13 11 1445955233986 29999 1377400 0.43787826374811456 0
WAITING 1 12 3 13 11 1445955263986 30000 1432580 0.45540491739908856 0
WAITING 1 12 3 13 11 1445955293987 30001 789260 0.25089063396780004 0
WAITING 1 12 3 13 11 1445955323987 30000 1307960 0.41578928629557294 0
WAITING 1 12 3 13 12 1445955353986 29999 1420280 0.451509903031924 0
...
WAITING 1 12 3 13 13 1445955833986 30000 1330760 0.42303721110026044 0
RUNNING 1 12 3 13 13 1445955863986 30000 1421300 0.45181910196940106 0
RUNNING 1 12 3 13 13 1445955893986 30000 1403780 0.44624964396158856 0
RUNNING 1 12 3 13 13 1445955923986 30000 1325140 0.4212506612141927 0
RUNNING 1 12 3 13 13 1445955953986 30000 1328120 0.42219797770182294 0
RUNNING 1 12 3 13 13 1445955983986 30000 1338720 0.425567626953125 0
RUNNING 1 12 3 13 13 1445956013986 30000 1396000 0.4437764485677083 0
RUNNING 1 12 3 13 13 1445956043986 30000 1400840 0.44531504313151044 0
RUNNING 1 12 3 13 13 1445956073987 30001 1417260 0.4505198032298663 0
RUNNING 1 12 3 13 13 1445956103986 29999 1238620 0.393759819256345 0
RUNNING 1 12 3 13 13 1445956133986 30000 1400860 0.44532140096028644 0
RUNNING 1 12 3 13 13 1445956163986 30000 1429200 0.4543304443359375 0
RUNNING 1 12 3 13 13 1445956193986 30000 1339820 0.4259173075358073 0
RUNNING 1 12 3 13 13 1445956223986 30000 1432580 0.45540491739908856 0
RUNNING 1 12 3 13 13 1445956253986 30000 1373020 0.43647130330403644 0
RUNNING 1 12 3 13 13 1445956283986 30000 1380660 0.4388999938964844 0
RUNNING 1 12 3 13 13 1445956313986 30000 1489820 0.4736010233561198 0
RUNNING 1 12 3 13 13 1445956343986 30000 1414680 0.44971466064453125 0
RUNNING 1 12 3 13 13 1445956373987 30001 1403300 0.44608218666474136 0
RUNNING 1 12 3 13 13 1445956403986 29999 1357460 0.4315392971595147 0
RUNNING 1 12 3 13 13 1445956433986 30000 1418080 0.4507954915364583 0
RUNNING 1 12 3 13 13 1445956463986 30000 1361900 0.4329363505045573 0
RUNNING 1 12 3 13 13 1445956493987 30001 1376360 0.43751847676041006 0
RUNNING 1 12 3 13 13 1445956523987 30000 979760 0.3114573160807292 0
RUNNING 1 12 3 13 13 1445956553986 29999 1476040 0.4692361205334449 0
RUNNING 1 12 3 13 13 1445956583986 30000 1394800 0.4433949788411458 0
RUNNING 1 12 3 13 13 1445956613986 30000 1454180 0.46227137247721356 0
RUNNING 1 12 3 13 13 1445956643986 30000 1420840 0.45167287190755206 0
RUNNING 1 12 3 13 13 1445956673986 30000 1478660 0.47005335489908856 0
RUNNING 1 12 3 13 13 1445956703987 30001 1402460 0.4458151667568112 0
RUNNING 1 12 3 13 13 1445956733986 29999 1386660 0.44082203659718344 0
1741535 [main] INFO c.y.s.p.Main - KILLING test_0

It takes a very long time for the event logger bolt to send enough metrics that the code registers that it is up and starts the test, so each test usually lasts about 30 mins. I got no failures anywhere during the testing.
The following numbers were all collected on the nimbus/ui/zk/supervisor/logviewer node. I also launched the topology from that node, so it would probably be the most overloaded. All the other nodes were running a supervisor/logviewer/zk

top - 14:29:54 up 57 min, 4 users, load average: 5.21, 4.50, 3.23
Tasks: 132 total, 2 running, 130 sleeping, 0 stopped, 0 zombie
Cpu(s): 48.0%us, 42.2%sy, 1.7%ni, 0.2%id, 0.5%wa, 0.0%hi, 7.3%si, 0.2%st
Mem: 4055232k total, 3161188k used, 894044k free, 123084k buffers

This is the output of running zktop.py against the zk ensemble (IP addresses and Host names changed).

Ensemble -- nodecount:32 zxid:0x10000086b sessions:16
ID SERVER PORT M OUTST RECVD SENT CONNS MINLAT AVGLAT MAXLAT
0 NIMBUS 2181 F 0 3895 3901 5 0 1 33
1 SUPER1 2181 L 0 2054 2054 3 0 1 22
2 SUPER2 2181 F 0 11358 11376 8 0 0 29
CLIENT PORT S I QUEUED RECVD SENT
NIMBUS 54133 0 1 0 330 330
NIMBUS 54629 0 1 0 1313 1313
NIMBUS 55899 0 0 0 1 0
SUPER1 41270 0 1 0 1305 1305
NIMBUS 54130 0 1 0 511 511
NIMBUS 49674 1 1 0 357 357
NIMBUS 51440 1 0 0 1 0
SUPER2 60290 1 1 0 1305 1305
SUPER2 51100 2 1 0 1147 1151
NIMBUS 53264 2 1 0 1148 1152
NIMBUS 53088 2 1 0 7937 7940
NIMBUS 54851 2 0 0 1 0
SUPER1 60972 2 1 0 216 216
NUMBUS 53263 2 1 0 217 217
SUPER1 60973 2 1 0 1148 1152
SUPER2 51098 2 1 0 216 216

Everything there looks OK.

Disk utilization while the test is running is between 0.6% and 0.7%. Network maxed out at 23054.9 kbps in and 21443.2 kbps out. Gigabit should be able to handle theoretically 128 MB/sec in and out so the 22/23 MB/sec should totally be within that range. If somehow the connection slipped to 100 Mbit then this would possibly explain what you are seeing, but it is just a guess.

I have screen shots of the UI too, but I don't think it will add much. I am now going to try and turn on the logging metrics consumer and see if I can get a measure for the GC/etc as another possible issue.

storm.yaml

worker.childopts: "-Dfile.encoding=UTF-8 -Xmx768m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/heapdump.hprof -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=1%ID% -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
topology.backpressure.enable: false
topology.transfer.buffer.size: 32
topology.executor.send.buffer.size: 16384
topology.executor.receive.buffer.size: 16384
storm.zookeeper.servers:
- "NIMBUS"
- "SUPER1"
- "SUPER2"
nimbus.host: "NIMBUS"

command line I ran

./apache-storm-0.11.0-SNAPSHOT/bin/storm jar ./storm_perf_test-1.0.0-SNAPSHOT-jar-with-dependencies.jar com.yahoo.storm.perftest.Main --ack --ackers 3 --bolt 4 --name test -l 1 -n 1 --workers 3 --spout 3 --testTimeSec 900 -c topology.max.spout.pending=1092 --messageSize 10 | tee run.txt

@HeartSaVioR

Copy link
Copy Markdown
Contributor

@revans2@kishorvpatil
I don't want to block this since you already did enough tests, and other PR depends on this.
+1

Since our new IaaS takes over legacy IaaS, I'll test it with new VMs when I complete set up new Storm cluster.

@harshach

Copy link
Copy Markdown
Contributor

+1 as well.

@kishorvpatil

Copy link
Copy Markdown
Contributor

Thanks @HeartSaVioR@harshach. I will pull this in.

@asfgit
asfgit merged commit 1be78e7 into apache:masterOct 28, 2015
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@revans2@HeartSaVioR@darionyaphet@kishorvpatil@binhnv@harshach@asfgit