[ 
https://issues.apache.org/jira/browse/CASSANDRA-21403?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Semb Wever updated CASSANDRA-21403:
-------------------------------------------
    Change Category: Performance
         Complexity: Low Hanging Fruit
      Fix Version/s: 5.0.x
                     6.0
                     7.x
             Status: Open  (was: Triage Needed)

> Preload maven dependencies and gradle binary in docker build/test images
> ------------------------------------------------------------------------
>
>                 Key: CASSANDRA-21403
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21403
>             Project: Apache Cassandra
>          Issue Type: Improvement
>          Components: Build, CI
>            Reporter: Michael Semb Wever
>            Assignee: Michael Semb Wever
>            Priority: Normal
>             Fix For: 5.0.x, 6.0, 7.x
>
>
> Maven dependencies (and the gradle binary for accord's gradle wrapper) were 
> being downloaded on every CI pipeline run.  This lead to hitting rate limits 
> and runs failing.
> The docker containers mount the host's ~/.m2/repository to try to reduce this 
> download cost, but CI can't do this for two reasons:
> 1. pre-ci.cassandra.a.o spins up new agents each build
> 2. ci-cassandra.a.o mounts a tmp directory, as it runs multiple executors on 
> the same agent hosts, and multiple containers cannot use the same repository 
> directory (or files become corrupt).
> The solution is to bake in the maven dependencies and gradle binary into the 
> images, and rsync them into place when the container runs.
> The preloaded set of dependencies will drift over time as dependencies are 
> added or versions bumped, but this is expected to be a minor issue remedied 
> in time when the image is built and deployed again. (It can be freely rebuilt 
> at any time too.)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to