Details
-
Improvement
-
Status: In Progress
-
Minor
-
Resolution: Unresolved
-
None
-
None
-
None
Description
If GC options are specified in topology.worker.childopts, they could conflict with the cluster settings and cause problems launching the JVM. This leads to storm alerts due to failures launching containers.
We could catch these on submission and prevent the topology from launching with an error message.
Kishor Patil's further comments:
Submit time validation of JVM Options includes..
Running `java -showversion` kind of command while topology is being submitted using JVM_OPTIONS derived using
- topology.worker.childopts
- topology.worker.gc.childopts
- topology.worker.logwriter.childopts
- worker.childopts
- worker.gc.childopts
- worker.profiler.childopts
And removing replacement strings such as "%ID%", "%WORKER-ID%", "%TOPOLOGY-ID%", "%WORKER-PORT", "%OFF-HEAP-MEM%", "%LIMIT-MEM%" with dummy values. To perform these replacements with dummy values, I would use externalize and use the logic from BasicContainer#substituteChildOptsInternal method.