linkedin / linkedin/dr-elephant
Cannot parse java option string for some Spark applications
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.4k
- Forks
- 839
- PR merge metrics
- No merged PRs in 30d
Description
in com.linkedin.drelephant.util.Utils#parseJavaOptions, we assume that java options are in format of "-Dfoo=bar -Dfoo2=bar ...". So Dr. Elephant failed to parse options like "**-Dcom.sun.management.jmxremote**" or "**-XX:PermSize=64m**", and raise an IllegalArgumentException in ERROR log.
**Should these options be ignored? Or are they valuable in analysis?**
Here are two related error logs:
04-19-2016 19:25:36 ERROR com.linkedin.drelephant.util.InfoExtractor : Encountered error while parsing java options into urls: Cannot parse java option string [-Djava.util.logging.config.file=jmx.properties -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=0 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.library.path=/opt/cloudera/parcels/GPLEXTRAS/lib/hadoop/lib/native:/opt/cloudera/parcels/CDH/lib/hadoop/lib/native -XX:PermSize=64m -XX:MaxPermSize=256m]. The part [-Dcom.sun.management.jmxremote] does not contain a =.
04-20-2016 00:17:27 ERROR com.linkedin.drelephant.util.InfoExtractor : Encountered error while parsing java options into urls: Cannot parse java option string [-Djava.util.logging.config.file=jmx.properties -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=0 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.library.path=/opt/cloudera/parcels/GPLEXTRAS/lib/hadoop/lib/native:/opt/cloudera/parcels/CDH/lib/hadoop/lib/native -XX:PermSize=64m -XX:MaxPermSize=256m]. Some options does not begin with -D prefix.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at com.linkedin.drelephant.util.Utils#parseJavaOptions and review the related errors emitted by InfoExtractor. Reproduce parsing with the logged options, including -Dcom.sun.management.jmxremote and -XX:PermSize=64m, then establish handling that avoids the reported IllegalArgumentException and verify the resulting analysis behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spark
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100