diff --git a/conf/defaults.yaml b/conf/defaults.yaml index c3fa3722911..c44709f6a0e 100644 --- a/conf/defaults.yaml +++ b/conf/defaults.yaml @@ -181,6 +181,7 @@ topology.stats.sample.rate: 0.05 topology.builtin.metrics.bucket.size.secs: 60 topology.fall.back.on.java.serialization: true topology.worker.childopts: null +topology.worker.logwriter.childopts: "-Xmx64m" topology.executor.receive.buffer.size: 1024 #batched topology.executor.send.buffer.size: 1024 #individual messages topology.transfer.buffer.size: 1024 # batched diff --git a/storm-core/src/clj/backtype/storm/daemon/supervisor.clj b/storm-core/src/clj/backtype/storm/daemon/supervisor.clj index be8f682e5e2..ce638ce88c3 100644 --- a/storm-core/src/clj/backtype/storm/daemon/supervisor.clj +++ b/storm-core/src/clj/backtype/storm/daemon/supervisor.clj @@ -675,6 +675,7 @@ (add-to-classpath topo-classpath)) top-gc-opts (storm-conf TOPOLOGY-WORKER-GC-CHILDOPTS) gc-opts (substitute-childopts (if top-gc-opts top-gc-opts (conf WORKER-GC-CHILDOPTS)) worker-id storm-id port) + topo-worker-logwriter-childopts (storm-conf TOPOLOGY-WORKER-LOGWRITER-CHILDOPTS) user (storm-conf TOPOLOGY-SUBMITTER-USER) logging-sensitivity (storm-conf TOPOLOGY-LOGGING-SENSITIVITY "S3") logfilename (logs-filename storm-id port) @@ -687,6 +688,7 @@ {"LD_LIBRARY_PATH" jlp}) command (concat [(java-cmd) "-cp" classpath + topo-worker-logwriter-childopts (str "-Dlogfile.name=" logfilename) (str "-Dstorm.home=" storm-home) (str "-Dstorm.id=" storm-id) diff --git a/storm-core/src/jvm/backtype/storm/Config.java b/storm-core/src/jvm/backtype/storm/Config.java index 58e2a4a38c8..699641cbc11 100644 --- a/storm-core/src/jvm/backtype/storm/Config.java +++ b/storm-core/src/jvm/backtype/storm/Config.java @@ -1220,6 +1220,12 @@ public class Config extends HashMap { public static final String TOPOLOGY_WORKER_GC_CHILDOPTS="topology.worker.gc.childopts"; public static final Object TOPOLOGY_WORKER_GC_CHILDOPTS_SCHEMA = ConfigValidation.StringOrStringListValidator; + /** + * Topology-specific options for the logwriter process of a worker. + */ + public static final String TOPOLOGY_WORKER_LOGWRITER_CHILDOPTS="topology.worker.logwriter.childopts"; + public static final Object TOPOLOGY_WORKER_LOGWRITER_CHILDOPTS_SCHEMA = ConfigValidation.StringOrStringListValidator; + /** * Topology-specific classpath for the worker child process. This is combined to the usual classpath. */