Thanks Parth for the clarification! But this concludes that SUPERVISOR_CHILDOPTS is useless in a topology specific config? It's good to know that a topology specific value does not affect a supervisor at all.
2015-03-03 18:06 GMT+01:00 Parth Brahmbhatt <[email protected]>: > The setting in topology configs are suppose to be topology specific. > When you set WORKER_CHILDOPTS those values are read by supervisor and > passed to worker command when starting worker processes. However, > SUPERVISOR_CHILDOPTS will have no effect as supervisors are already > running and when they were started they read the value provided in > storm.yaml and used that for Xmx setting. A single supervisor will be > responsible for more than one topology so it makes sense that > SUPERVISOR_CHILDOPTS are not topology specific. > > Thanks > Parth > > From: Martin Illecker <[email protected]> > Reply-To: "[email protected]" <[email protected]> > Date: Tuesday, March 3, 2015 at 8:17 AM > To: "[email protected]" <[email protected]> > Subject: Setting heap size parameters by workers.childopts and > supervisor.childopts > > Hello, > > I had a heap size problem within the *prepare* method of my bolts. > Therefore, I tried to increase the heap size by setting the values in the > topology config: > > conf.put(Config.WORKER_CHILDOPTS, "-Xmx4g"); > > conf.put(Config.SUPERVISOR_CHILDOPTS, "-Xmx4g"); > > But the out of memory exception remained! > I checked the worker node and the supervisor processes were still executed > with "-Xmx768m". > > In the next step I set the same values globally in the *storm.yaml* and > restarted the supervisor. > Now the supervisor uses the "-Xmx4g" parameter and the out of memory > exception was gone. > > I'm just wondering why it makes any difference to set these parameters > globally in the *storm.yaml* or in the topology config? > Why are the settings in the topology config not working? > Furthermore the Storm UI shows the correct parameters but they are not > used by the supervisor. > > Thanks! > Martin >
