Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reduce number of fat jars built #3832

Open
patchwork01 opened this issue Nov 29, 2024 · 1 comment
Open

Reduce number of fat jars built #3832

patchwork01 opened this issue Nov 29, 2024 · 1 comment
Milestone

Comments

@patchwork01
Copy link
Collaborator

Background

When building Sleeper, Maven spends a significant amount of time creating fat jars. We currently have 28 invocations of maven-shade-plugin to create fat jars.

Description

We'd like to reduce the number of fat jars we build, to aim to reduce the time spent building.

This should save us a significant amount of time when deploying the system for tests.

Analysis

There are some modules that look like they're building a fat jar unnecessarily:

  • statestore-committer-core
  • system-test-data-generation and system-test-drivers are both built

The main reason we build jars separately is to reduce the number of dependencies included, keep the size of the jar low, and hopefully reduce the startup time of the JVM. In practice, most jars include Hadoop, which is much larger than any of the other dependencies.

13 of the fat jars are built to deploy lambdas. We could try building one jar that does include Hadoop for lambdas, and one that does not.

@patchwork01 patchwork01 added the enhancement New feature or request label Nov 29, 2024
@patchwork01 patchwork01 added this to the 0.27.0 milestone Nov 29, 2024
@patchwork01 patchwork01 added build-pipeline and removed enhancement New feature or request labels Nov 29, 2024
@patchwork01 patchwork01 modified the milestones: 0.27.0, 0.30.0 Nov 29, 2024
@m09526
Copy link
Member

m09526 commented Nov 29, 2024

Our last attempt at reducing un-needed shading is here: #1245

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants