Skip to content

use GCS mirror for Maven, fix benchmarks version, other small changes#166

Merged
rapids-bot[bot] merged 1 commit into
mainfrom
fix/builds
Jun 26, 2026
Merged

use GCS mirror for Maven, fix benchmarks version, other small changes#166
rapids-bot[bot] merged 1 commit into
mainfrom
fix/builds

Conversation

@jameslamb

@jameslamb jameslamb commented Jun 24, 2026

Copy link
Copy Markdown
Member

Fixes #145

Contributes to rapidsai/build-planning#297

The root cause of #145 appears to be that we were getting rate-limited by Maven Central. Similar to NVIDIA/cuvs#2253, this proposes fixing that by using the same read-only Maven mirror that Apache Orc, Lucene, Spark and others use in their builds (https://storage-download.googleapis.com/maven-central/index.html).

Other changes:

  • fixes microbenchmarks version (was still 26.02 because it used the cuVS pattern for version replacement)
  • adding default mvn options to request packages more slowly and wait longer between retries
  • updating all pre-commit hooks w/ pre-commit autoupdate
  • adding check-xml hook to validate that pom.xml are valid XML docs
  • reformatting READMEs per https://yihui.org/en/2021/06/markdown-breath/

@jameslamb jameslamb requested review from a team as code owners June 24, 2026 16:36
@jameslamb jameslamb added the improvement Improves an existing functionality label Jun 24, 2026
@jameslamb jameslamb requested a review from a team as a code owner June 24, 2026 16:36
@jameslamb jameslamb added the non-breaking Introduces a non-breaking change label Jun 24, 2026
@jameslamb jameslamb requested a review from bdice June 24, 2026 16:36
Comment thread .mvn/maven.config
-Daether.connector.basic.downstreamThreads=1
-Daether.transport.http.retryHandler.count=5
-Daether.transport.http.retryHandler.interval=10000
-Dmaven.wagon.http.retryHandler.count=5

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

See NVIDIA/cuvs#2253 (comment) for an explanation of these flags.

I believe comments are not allowed in this file because its contents are passed literally to mvn.

@jakirkham jakirkham left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Thanks James! 🙏

Had a couple questions below. Most can be handled separately

Would just double check the copyright one

Comment thread .pre-commit-config.yaml
@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION.
# SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

What is the context behind this addition?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

It was added automatically by the verify-codeowners pre-commit hook.

This became the default in February (rapidsai/pre-commit-hooks#120) based on internal conversations about the preferred form.

It's showing up here now because:

  1. that change went into rapidsai/pre-commit-hooks v1.5.0 and this repo was using an older version until this PR
  2. the hook only changes copyright statements on files as they're touched, not all at once, and this PR touches that file

If you have questions about the history behind rapidsai/pre-commit-hooks#120 you can talk to @KyleFromNVIDIA . But this has been the standard across RAPIDS for a few months now.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Do we need this in other files then?

A few files here changed, but not all have this particular wording

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I don't know why this project doesn't include .xml files in its configuration for that hook. It's probably unintentional, I'd be happy to approve a PR adding them if you want to put one up.

Comment thread bench/pom.xml
<groupId>com.nvidia.cuvs.lucene.benchmarks</groupId>
<artifactId>cuvs-lucene-benchmarks</artifactId>
<!--CUVS_JAVA#VERSION_UPDATE_MARKER_START--><version>26.02.0</version><!--CUVS_JAVA#VERSION_UPDATE_MARKER_END-->
<!--CUVS_LUCENE#VERSION_UPDATE_MARKER_START--><version>26.08.0</version><!--CUVS_LUCENE#VERSION_UPDATE_MARKER_END-->

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Is there anywhere else that needs this change?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Possibly needs changes in ci/release/update-version.sh?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

is there anywhere else that needs this change?

No.

$ git grep -E '26\.|25\.'
.github/workflows/build.yaml:      container_image: "rapidsai/ci-conda:26.08-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13"
.github/workflows/pr.yaml:      container_image: "rapidsai/ci-conda:26.08-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13"
.github/workflows/test.yaml:      container_image: "rapidsai/ci-conda:26.08-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13"
.pre-commit-config.yaml:        rev: v1.26.1
VERSION:26.08.00
bench/pom.xml:    <!--CUVS_LUCENE#VERSION_UPDATE_MARKER_START--><version>26.08.0</version><!--CUVS_LUCENE#VERSION_UPDATE_MARKER_END-->
bench/pom.xml:            <!--CUVS_LUCENE#VERSION_UPDATE_MARKER_START--><version>26.08.0</version><!--CUVS_LUCENE#VERSION_UPDATE_MARKER_END-->
build.sh:VERSION="26.08.0" # Note: The version is updated automatically when ci/release/update-version.sh is invoked
ci/release/update-version.sh:# Strip leading 0s in versions, so e.g. '25.10.00' becomes '25.10.0'
conda/environments/all_cuda-129_arch-aarch64.yaml:- libcuvs==26.08.*
conda/environments/all_cuda-129_arch-x86_64.yaml:- libcuvs==26.08.*
conda/environments/all_cuda-132_arch-aarch64.yaml:- libcuvs==26.08.*
conda/environments/all_cuda-132_arch-x86_64.yaml:- libcuvs==26.08.*
dependencies.yaml:          - libcuvs==26.08.*
examples/README.md:docker run --rm --gpus all --pull=always --volume $PWD:$PWD --workdir $PWD -it rapidsai/ci-conda:26.08-cuda13.2.0-ubuntu24.04-py3.13
examples/README.md:mvn clean install && java -Djava.util.logging.config.file=src/main/resources/logging.properties -cp target/examples-26.08.0-jar-with-merged-services.jar com.nvidia.cuvs.lucene.examples.AcceleratedHnswExample
examples/README.md:mvn clean install && java -Djava.util.logging.config.file=src/main/resources/logging.properties -cp target/examples-26.08.0-jar-with-merged-services.jar com.nvidia.cuvs.lucene.examples.IndexAndSearchonGPUExample
examples/pom.xml:  <!--CUVS_LUCENE#VERSION_UPDATE_MARKER_START--><version>26.08.0</version><!--CUVS_LUCENE#VERSION_UPDATE_MARKER_END-->
examples/pom.xml:      <!--CUVS_LUCENE#VERSION_UPDATE_MARKER_START--><version>26.08.0</version><!--CUVS_LUCENE#VERSION_UPDATE_MARKER_END-->
pom.xml:  <!--CUVS_LUCENE#VERSION_UPDATE_MARKER_START--><version>26.08.0</version><!--CUVS_LUCENE#VERSION_UPDATE_MARKER_END-->
pom.xml:      <!--CUVS_LUCENE#VERSION_UPDATE_MARKER_START--><version>26.08.0</version><!--CUVS_LUCENE#VERSION_UPDATE_MARKER_END-->
src/main/java/com/nvidia/cuvs/lucene/CuVS2510GPUSearchCodec.java: * @since 25.10
src/main/java/com/nvidia/cuvs/lucene/CuVS2510GPUVectorsFormat.java: * @since 25.10
src/main/java/com/nvidia/cuvs/lucene/CuVS2510GPUVectorsReader.java: * @since 25.10
src/main/java/com/nvidia/cuvs/lucene/CuVS2510GPUVectorsWriter.java: * @since 25.10
src/main/java/com/nvidia/cuvs/lucene/FilterCuVSServiceProvider.java: * @since 25.10
src/main/java/com/nvidia/cuvs/lucene/GPUBuiltHnswGraph.java: * @since 25.10
src/main/java/com/nvidia/cuvs/lucene/GPUFieldWriter.java: * @since 25.10
src/main/java/com/nvidia/cuvs/lucene/GPUIndex.java: * @since 25.10
src/main/java/com/nvidia/cuvs/lucene/GPUKnnFloatVectorQuery.java: * @since 25.10
src/main/java/com/nvidia/cuvs/lucene/GPUPerLeafCuVSKnnCollector.java: * @since 25.10
src/main/java/com/nvidia/cuvs/lucene/IndexInputInputStream.java: * @since 25.10
src/main/java/com/nvidia/cuvs/lucene/IndexOutputOutputStream.java: * @since 25.10
src/main/java/com/nvidia/cuvs/lucene/Lucene101AcceleratedHNSWCodec.java: * @since 25.10
src/main/java/com/nvidia/cuvs/lucene/Lucene99AcceleratedHNSWVectorsFormat.java: * @since 25.10
src/main/java/com/nvidia/cuvs/lucene/Lucene99AcceleratedHNSWVectorsWriter.java: * @since 25.10
src/main/java/com/nvidia/cuvs/lucene/LuceneAcceleratedHNSWBinaryQuantizedCodec.java: * @since 26.02
src/main/java/com/nvidia/cuvs/lucene/LuceneAcceleratedHNSWBinaryQuantizedVectorsFormat.java: * @since 26.02
src/main/java/com/nvidia/cuvs/lucene/LuceneAcceleratedHNSWBinaryQuantizedVectorsWriter.java: * @since 26.02
src/main/java/com/nvidia/cuvs/lucene/LuceneAcceleratedHNSWScalarQuantizedCodec.java: * @since 26.02
src/main/java/com/nvidia/cuvs/lucene/LuceneAcceleratedHNSWScalarQuantizedVectorsFormat.java: * @since 26.02
src/main/java/com/nvidia/cuvs/lucene/LuceneAcceleratedHNSWScalarQuantizedVectorsWriter.java: * @since 26.02
src/main/java/com/nvidia/cuvs/lucene/LuceneProvider.java: * @since 25.12
src/main/java/com/nvidia/cuvs/lucene/ThreadLocalCuVSResourcesProvider.java: * @since 26.02
src/main/java/com/nvidia/cuvs/lucene/Utils.java: * @since 25.10
src/main/java/com/nvidia/cuvs/lucene/package-info.java: * @since 25.10
src/test/java/com/nvidia/cuvs/lucene/TestBackCompat.java: * @since 25.12

Possibly needs changes in ci/release/update-version.sh?

I don't think so. The file was covered already, the pattern was just wrong.

https://github.com/rapidsai/cuvs-lucene/blob/5e438035c673a33fef05517718439a3b8e6a36f2/ci/release/update-version.sh#L109-L11

bash ./ci/release/update-version.sh '26.10.00' --run-context=main
git grep -E '25\.|26\.'
# (same result as above, but with all 26.08 changed to 26.10)

Comment thread examples/pom.xml
@jameslamb

Copy link
Copy Markdown
Member Author

/merge

@rapids-bot rapids-bot Bot merged commit 28aa472 into main Jun 26, 2026
18 of 21 checks passed
@jameslamb jameslamb deleted the fix/builds branch June 26, 2026 00:20
jamxia155 added a commit to jamxia155/cuvs-lucene that referenced this pull request Jul 1, 2026
The merge of origin/main (c840848) combined two independently-added
<repositories> blocks: the GCS-mirror + Maven Central block from NVIDIA#166
(releases only, snapshots disabled) and the central-snapshots block
from the snapshot-build change (snapshots enabled). Two <repositories>
tags is invalid XML, so the POM failed to parse.

Consolidate both into a single <repositories> block, preserving all
three repositories: the GCS mirror and Maven Central for releases, and
central-snapshots for snapshot resolution.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improves an existing functionality non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

builds failing: "Failed to read artifact descriptor for org.sonatype.plugins:nexus-staging-maven-plugin:jar:1.6.7"

4 participants