Hi, Recently, I needed to increase the zookeeper timeout to:
- tickTime=20000 - initLimit=10 - syncLimit=15 and storm.yaml defaults to: - supervisor.worker.timeout.secs: 600 - nimbus.task.timeout.secs: 600 - nimbus.supervisor.timeout.secs: 600 Did this because each of my bolts had to write <http://programmers.stackexchange.com/questions/325681/concurrent-inserts-to-mysql-or-write-to-separate-tables-and-consolidate-it> at least 100000 rows in batches of 1000 to the same table in MySQL, and each bolt took time to ack because it couldn't insert to SQL until another bolt had finished inserting. This caused Zookeeper to not receive a heartbeat and timeout. My supervisor advised that the better way to tackle this problem would be to: - Leave the zookeeper and storm defaults as it is because the creators of Storm had designed the defaults for a reason. - Also because everytime we upgrade Storm to a newer version, we'd have to remember to change those parameters. - Perhaps the design of the topology could be changed to have the bolts write fewer rows and ack more quickly so that there is no timeout. *My questions:* Are the storm and zookeeper defaults better left alone for the above reasons? -- Regards, Navin
