locationtech / locationtech/geomesa
Improve start-up time for CLI tools
Nobody has claimed this yet.
- Dominant language
- Scala
- Stars
- 1.5k
- Forks
- 446
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 31
Description
Improve start-up time for CLI tools
Use nailgun? We need to be careful with the classpath here - I believe the classpath is set when you start the ng server, so maybe we would have to keep a set of classpaths -> servers, or something like that... at any rate, if the classpath is changed, we would need to make sure the server reflects that.
Should work with GEOMESA_EXTRA_CLASSPATHS and all the other random stuff we have like that.
Could be an opt-in? Could be on by default but well doc'd about the above changes?
Another option to consider: https://www.graalvm.org/
Original JIRA Issue: https://geomesa.atlassian.net/browse/GEOMESA-2203
Key: GEOMESA-2203
Type: Improvement
Priority: Major
Status: To Do
Resolution: Unresolved
Reporter: Andrew Hulbert
Created: Mon, 5 Mar 2018 10:18:18 -0500
Updated: Thu, 29 Aug 2019 14:12:37 -0400
Comments:
557058:da7f6dfa-f0a1-468b-aec5-2cb61273feb5 (Thu, 29 Aug 2019 14:12:37 -0400):
Compiling a native executable with graalvm requires that all jars be on the classpath at build time. This may mean that a) we have to build tools for many different specific jar versions and b) distributed jobs would need to be re-thought.
Contributor guide
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
No files or tests are named. Start by locating the CLI launchers and how they assemble classpaths, then compare the Nailgun and GraalVM options described in the issue. Done means faster startup while preserving GEOMESA_EXTRA_CLASSPATHS and ensuring classpath changes are reflected, with the opt-in or default behavior documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala
- Domain
- cli, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100