Skip to content

Release workflows should retry svn checkout in case of failure#3393

Merged
pingtimeout merged 3 commits intoapache:mainfrom
pingtimeout:release-workflows-retry-svn-checkout
Jan 12, 2026
Merged

Release workflows should retry svn checkout in case of failure#3393
pingtimeout merged 3 commits intoapache:mainfrom
pingtimeout:release-workflows-retry-svn-checkout

Conversation

@pingtimeout
Copy link
Contributor

During workflow development, I ran into issues like this one during Helm charts build job:

svn: E170013: Unable to connect to a repository at URL 'https://dist.apache.org/repos/dist/dev/incubator/polaris'
svn: E000110: Error running context: Connection timed out
Error: Process completed with exit code 1.

Example: https://github.com/pingtimeout/polaris/actions/runs/20792183122/job/59719038791

This is not expected as there is another job in the same workflow that executes the same svn checkout command and succeeds. I suspect a rate limit on ASF Infra side. This PR adds a sleep-then-retry mechanism to workflows so that they do not fail immediately.

Here is an example of a successful run. Unfortunately, that time, the rate limit did not trigger, so it only shows that the workflow continue running identically with the code change: https://github.com/pingtimeout/polaris/actions/runs/20825202531/job/59827207724

dist_dev_dir=${RELEASEY_DIR}/polaris-dist-dev
exec_process svn checkout --username "$SVN_USERNAME" --password "$SVN_PASSWORD" --non-interactive "${APACHE_DIST_URL}${APACHE_DIST_PATH}" "${dist_dev_dir}"

# Retry logic for SVN checkout (Apache SVN can have transient connectivity issues)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mind moving the retry-loop to a new function like exec_process_with_retries or so?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure. Implementation part is done, I just need to re-test.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirmation that it still works : https://github.com/pingtimeout/polaris/actions/runs/20915713316/job/60088667452

Note that the workflow failed because of an unrelated issue: I am using a temporary GPG key that is not published to ubuntu keyserver. So the gradle task that closes the staging repository fails and that in turn fails the release process.

@github-project-automation github-project-automation bot moved this from PRs In Progress to Ready to merge in Basic Kanban Board Jan 12, 2026
@pingtimeout pingtimeout merged commit f0ede57 into apache:main Jan 12, 2026
15 checks passed
@github-project-automation github-project-automation bot moved this from Ready to merge to Done in Basic Kanban Board Jan 12, 2026
@pingtimeout pingtimeout deleted the release-workflows-retry-svn-checkout branch January 12, 2026 15:05
evindj pushed a commit to evindj/polaris that referenced this pull request Jan 26, 2026
snazy added a commit to snazy/polaris that referenced this pull request Feb 11, 2026
* feat: Add AWS STS Session Tags support for credential vending (apache#3327)

* feat: Add AWS STS Session Tags support for credential vending
Fixes apache#3325

* Minor fixes

* Review comments

* Review comments.

* Remove request_id from the PR

* Review comment: added activated roles

* Review comments

* Update AwsSessionTagsBuilder.java

* Spotless fixes

* Update StorageCredentialCacheKey.java

* fix failing tests

* Review comments.

* Reverting last commit based on review comments for cache collisions.

---------

Co-authored-by: Anand Kumar Sankaran <anand.sankaran@workday.com>

* chore(deps): update registry.access.redhat.com/ubi9/openjdk-21-runtime docker tag to v1.24-2.1767639862 (apache#3383)

* Added HttpRoute and Gateway to Helm Chart (apache#3314)

* Added httproute and gateway

* added to readme

* updated helm site docs

* updated changelog

* Added tests

* fixed broken test

* fixed test part 2

* removed odd comment

* added check for httproute and gateway

* shuffled the gateway documentation

* better gateway instructions

* removed extra case in validateRouting

* Errorprone: prepare for v2.46.0 (apache#3384)

This tackles the current failure in apache#3382: `-XDaddTypeAnnotationsToSymbol=true is required by Error Prone on JDK 21`

* NoSQL: Metastore maintenance (apache#3268)

Implementation of the NoSQL meta-store maintenance implementation. It adds the meta-store specific handling to the existing NoSQL maintenance service to purge unreferenced and unneeded data from the database.

* Update release workflows to use the new GPG private key (apache#3399)

* [tech debt] Cleanup `gradle/libs.versions.toml` (apache#3394)

This change removes unreferenced dependency references, inlines single usages of a version-reference and adds a dependency for checkstyle to get that version managed by renovate.

* fix(deps): update dependency org.keycloak:keycloak-admin-client to v26.0.8 (apache#3405)

* fix(deps): update dependency com.google.errorprone:error_prone_core to v2.46.0 (apache#3382)

* [doc]: Add Minio OSS disclaimer (apache#3390)

* [Releasy] Let Maven artifact publication propagate failures (apache#3407)

The Gradle build to publish the Maven artifacts is invoked like `./gradlew ... | tee <log>`. The (overall) exit code of pipes is the exit code of the _last_ command. The exit codes of all pipe "parts" is available in bash's `PIPESTATUS` array and needs to be checked.

* Fix Gradle up-to-date of jars (apache#3401)

The change apache#1036 added the Maven pom.xml to all built jars. However, the `GenerateMavenPom` Gradle task type is never up-to-date, in consequence no jar can ever be up-to-date, leading to unnecessarily longer build times.

This change ensures that the pom.xml is included in release builds, but not in developer/snapshot builds.

* fix(deps): update dependency net.ltgt.gradle:gradle-errorprone-plugin to v4.4.0 (apache#3406)

* fix(deps): update dependency com.puppycrawl.tools:checkstyle to v13 (apache#3403)

* fix(deps): update dependency io.opentelemetry:opentelemetry-bom to v1.58.0 (apache#3408)

* fix(deps): update dependency software.amazon.awssdk:bom to v2.41.5 (apache#3416)

* chore(deps): update dependency jupyterlab to v4.5.2 (apache#3419)

* Release workflows should retry svn checkout in case of failure (apache#3393)

* Change parser option to be required (apache#3413)

* Support hierarchical namespace in Azure (apache#3347)

* Support hierarchical namespace in Azure

* Add `hierarchical` to `AzureStorageConfigInfo` (the default is unset translating to current behaviour).

* Use `DataLakeDirectoryClient` instead of `DataLakeFileSystemClient` for generating SAS tokens
  when `hierarchical` is set to `true`.

* Add `cloudTest` classes for testing with credential vending in ADLS.

* chore(test): Increase Authorization Test Coverage (apache#3332)

* increase test coverage

* update docstrings

* clean up

* make use of same helper method

* remove duplicate tests from OpaIntegrationTest

* use tempdir

* fix(deps): update dependency io.micrometer:micrometer-bom to v1.16.2 (apache#3422)

* chore(deps): update registry.access.redhat.com/ubi9/openjdk-21-runtime docker tag to v1.24-2.1767878250 (apache#3421)

* Last merged commit 1996156

* Add free-disk-space action

* Add free-disk-space action to regtest + spark_client_regtests

---------

Co-authored-by: Anand K Sankaran <lists@anands.net>
Co-authored-by: Anand Kumar Sankaran <anand.sankaran@workday.com>
Co-authored-by: Mend Renovate <bot@renovateapp.com>
Co-authored-by: cccs-cat001 <56204545+cccs-cat001@users.noreply.github.com>
Co-authored-by: Pierre Laporte <pierre@pingtimeout.fr>
Co-authored-by: Yong Zheng <yongzheng0809@gmail.com>
Co-authored-by: Dmitri Bourlatchkov <dmitri.bourlatchkov@gmail.com>
Co-authored-by: Sung Yun <107272191+sungwy@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants