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

Michael Semb Wever updated CASSANDRA-21044:
-------------------------------------------
    Description: 
Three changes to the Jenkinsfile.

1. Some test result files were sometimes missing from the CI results artefact 
tarball, and their results missing from the ci_summary.html numbers.

This was because xz compression in Jenkinsfile was being run in parallel using 
backgrounded processes and the wait command, but the wait command was actually 
waiting for xv completion (it was just getting lucky 99.9% of the time).

The fix is to replace the background and wait approach with xargs in parallel 
mode.

2. The parsing of the build.xml to find the jdk.default and jdk.supported 
values is very slow (2min+, due to jenkins peculiarities), made worse by the 
jenkinsfile having to do it multiple times for calls (and asserts) in multiple 
pipeline stages.

Fix was to properly declare constants, and to cache the result of the `task()` 
method (since it's only ever called on the initial agent when creating the 
build workflow.

3. Improve UX by logging early on (in a new "init" stage) what the user 
specified build parameters are.  A number of users were confused because the 
job's coordinates are fixed to the base branch, and the user specified 
parameters are not actually used until doing compile and test tasks within each 
stage split.  The console log still logs the fixed git coordinates, but now 
shortly after it also prints the user's parameters.  It is hoped this improves 
the UX a little.

Patch @ https://github.com/apache/cassandra/pull/4211

  was:
Three changes to the Jenkinsfile.

1. Some test result files were sometimes missing from the CI results artefact 
tarball, and their results missing from the ci_summary.html numbers.

This was because xz compression in Jenkinsfile was being run in parallel using 
backgrounded processes and the wait command, but the wait command was actually 
waiting for xv completion (it was just getting lucky 99.9% of the time).

The fix is to replace the background and wait approach with xargs in parallel 
mode.

2. The parsing of the build.xml to find the jdk.default and jdk.supported 
values is very slow (2min+, due to jenkins peculiarities), made worse by the 
jenkinsfile having to do it multiple times for calls (and asserts) in multiple 
pipeline stages.

Fix was to properly declare constants, and to cache the result of the `task()` 
method (since it's only ever called on the initial agent when creating the 
build workflow.

3. Improve UX by logging early on (in a new "init" stage) what the user 
specified build parameters are.  A number of users were confused because the 
job's coordinates are fixed to the base branch, and the user specified 
parameters are not actually used until doing compile and test tasks within each 
stage split.  The console log still logs the fixed git coordinates, but now 
shortly after it also prints the user's parameters.  It is hoped this improves 
the UX a little.


> Jenkinsfile fix parallel xz and improve jdk parsing performance
> ---------------------------------------------------------------
>
>                 Key: CASSANDRA-21044
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21044
>             Project: Apache Cassandra
>          Issue Type: Bug
>          Components: CI
>            Reporter: Michael Semb Wever
>            Assignee: Michael Semb Wever
>            Priority: Normal
>             Fix For: 5.0.x, 5.x
>
>
> Three changes to the Jenkinsfile.
> 1. Some test result files were sometimes missing from the CI results artefact 
> tarball, and their results missing from the ci_summary.html numbers.
> This was because xz compression in Jenkinsfile was being run in parallel 
> using backgrounded processes and the wait command, but the wait command was 
> actually waiting for xv completion (it was just getting lucky 99.9% of the 
> time).
> The fix is to replace the background and wait approach with xargs in parallel 
> mode.
> 2. The parsing of the build.xml to find the jdk.default and jdk.supported 
> values is very slow (2min+, due to jenkins peculiarities), made worse by the 
> jenkinsfile having to do it multiple times for calls (and asserts) in 
> multiple pipeline stages.
> Fix was to properly declare constants, and to cache the result of the 
> `task()` method (since it's only ever called on the initial agent when 
> creating the build workflow.
> 3. Improve UX by logging early on (in a new "init" stage) what the user 
> specified build parameters are.  A number of users were confused because the 
> job's coordinates are fixed to the base branch, and the user specified 
> parameters are not actually used until doing compile and test tasks within 
> each stage split.  The console log still logs the fixed git coordinates, but 
> now shortly after it also prints the user's parameters.  It is hoped this 
> improves the UX a little.
> Patch @ https://github.com/apache/cassandra/pull/4211



--
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