diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index aa65eec100..6adf07c05b 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -93,6 +93,13 @@ repos:
pass_filenames: false
files: rust/.*
language: rust
+ - id: spotless-fmt
+ name: spotless-fmt
+ entry: mvn --batch-mode --quiet -f java/cuvs-java/pom.xml spotless:apply
+ pass_filenames: false
+ files: ^java/cuvs-java/src/.*\.java$
+ exclude: .*/panama/.*
+ language: system
- id: clang-format-with-cmake-placeholders
name: clang-format-with-cmake-placeholders
entry: python3 ci/checks/clang_format_with_cmake_placeholders.py
diff --git a/conda/environments/all_cuda-129_arch-aarch64.yaml b/conda/environments/all_cuda-129_arch-aarch64.yaml
index 060551a49f..b4c31c3229 100644
--- a/conda/environments/all_cuda-129_arch-aarch64.yaml
+++ b/conda/environments/all_cuda-129_arch-aarch64.yaml
@@ -30,11 +30,13 @@ dependencies:
- libopenblas<=0.3.30
- librmm==26.10.*,>=0.0.0a0
- make
+- maven
- nccl>=2.19
- ninja
- nodejs>=22
- numpy>=2.0,<3.0
- openblas
+- openjdk=22.*
- pre-commit
- pylibraft==26.10.*,>=0.0.0a0
- pytest
diff --git a/conda/environments/all_cuda-129_arch-x86_64.yaml b/conda/environments/all_cuda-129_arch-x86_64.yaml
index 5e28876328..08678b53f1 100644
--- a/conda/environments/all_cuda-129_arch-x86_64.yaml
+++ b/conda/environments/all_cuda-129_arch-x86_64.yaml
@@ -29,11 +29,13 @@ dependencies:
- libnvjitlink-dev
- librmm==26.10.*,>=0.0.0a0
- make
+- maven
- nccl>=2.19
- ninja
- nodejs>=22
- numpy>=2.0,<3.0
- openblas
+- openjdk=22.*
- pre-commit
- pylibraft==26.10.*,>=0.0.0a0
- pytest
diff --git a/conda/environments/all_cuda-133_arch-aarch64.yaml b/conda/environments/all_cuda-133_arch-aarch64.yaml
index eddcb7f4f7..0945eb2166 100644
--- a/conda/environments/all_cuda-133_arch-aarch64.yaml
+++ b/conda/environments/all_cuda-133_arch-aarch64.yaml
@@ -30,11 +30,13 @@ dependencies:
- libopenblas<=0.3.30
- librmm==26.10.*,>=0.0.0a0
- make
+- maven
- nccl>=2.19
- ninja
- nodejs>=22
- numpy>=2.0,<3.0
- openblas
+- openjdk=22.*
- pre-commit
- pylibraft==26.10.*,>=0.0.0a0
- pytest
diff --git a/conda/environments/all_cuda-133_arch-x86_64.yaml b/conda/environments/all_cuda-133_arch-x86_64.yaml
index cf53368961..96ae712828 100644
--- a/conda/environments/all_cuda-133_arch-x86_64.yaml
+++ b/conda/environments/all_cuda-133_arch-x86_64.yaml
@@ -29,11 +29,13 @@ dependencies:
- libnvjitlink-dev
- librmm==26.10.*,>=0.0.0a0
- make
+- maven
- nccl>=2.19
- ninja
- nodejs>=22
- numpy>=2.0,<3.0
- openblas
+- openjdk=22.*
- pre-commit
- pylibraft==26.10.*,>=0.0.0a0
- pytest
diff --git a/dependencies.yaml b/dependencies.yaml
index c1383f82a3..2c011e3419 100644
--- a/dependencies.yaml
+++ b/dependencies.yaml
@@ -288,6 +288,11 @@ dependencies:
- output_types: [conda]
packages:
- c-compiler
+ # spotless-fmt pre-commit hook requires Maven and a JDK
+ - output_types: [conda]
+ packages:
+ - maven
+ - openjdk=22.*
clang:
common:
- output_types: conda
diff --git a/java/cuvs-java/pom.xml b/java/cuvs-java/pom.xml
index 7d00a7e9b7..87c84794d7 100644
--- a/java/cuvs-java/pom.xml
+++ b/java/cuvs-java/pom.xml
@@ -252,14 +252,6 @@ SPDX-License-Identifier: Apache-2.0
com.diffplug.spotless
spotless-maven-plugin
2.44.5
-
-
-
- apply
-
- validate
-
-
@@ -268,15 +260,21 @@ SPDX-License-Identifier: Apache-2.0
src/**/panama/*.java
+
+
+ Use the headers_h facade, not numbered jextract classes
+ \bheaders_h_[0-9]+\b
+ headers_h
+
1.27.0
true
false
-
- ${project.basedir}/../license-header.txt
-
diff --git a/java/cuvs-java/src/main/java/com/nvidia/cuvs/CuVSAceParams.java b/java/cuvs-java/src/main/java/com/nvidia/cuvs/CuVSAceParams.java
index b70547b333..eddb404874 100644
--- a/java/cuvs-java/src/main/java/com/nvidia/cuvs/CuVSAceParams.java
+++ b/java/cuvs-java/src/main/java/com/nvidia/cuvs/CuVSAceParams.java
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION.
+ * SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*/
package com.nvidia.cuvs;
@@ -75,8 +75,13 @@ public class CuVSAceParams {
*/
private final double maxGpuMemoryGb;
- private CuVSAceParams(long npartitions, long efConstruction, String buildDir, boolean useDisk,
- double maxHostMemoryGb, double maxGpuMemoryGb) {
+ private CuVSAceParams(
+ long npartitions,
+ long efConstruction,
+ String buildDir,
+ boolean useDisk,
+ double maxHostMemoryGb,
+ double maxGpuMemoryGb) {
this.npartitions = npartitions;
this.efConstruction = efConstruction;
this.buildDir = buildDir;
@@ -259,8 +264,8 @@ public Builder withMaxGpuMemoryGb(double maxGpuMemoryGb) {
* @return an instance of {@link CuVSAceParams}
*/
public CuVSAceParams build() {
- return new CuVSAceParams(npartitions, efConstruction, buildDir, useDisk,
- maxHostMemoryGb, maxGpuMemoryGb);
+ return new CuVSAceParams(
+ npartitions, efConstruction, buildDir, useDisk, maxHostMemoryGb, maxGpuMemoryGb);
}
}
}
diff --git a/java/cuvs-java/src/main/java/com/nvidia/cuvs/CuVSResources.java b/java/cuvs-java/src/main/java/com/nvidia/cuvs/CuVSResources.java
index 3b346e92fb..959206f274 100644
--- a/java/cuvs-java/src/main/java/com/nvidia/cuvs/CuVSResources.java
+++ b/java/cuvs-java/src/main/java/com/nvidia/cuvs/CuVSResources.java
@@ -102,11 +102,9 @@ static CuVSResources create(Path tempDirectory) throws Throwable {
* @throws LibraryException if the native library cannot be loaded
*/
static CuVSResources create(
- Path tempDirectory,
- Path memoryTrackingCsvPath,
- Duration memoryTrackingSampleInterval) throws Throwable {
+ Path tempDirectory, Path memoryTrackingCsvPath, Duration memoryTrackingSampleInterval)
+ throws Throwable {
return CuVSProvider.provider()
- .newCuVSResources(
- tempDirectory, memoryTrackingCsvPath, memoryTrackingSampleInterval);
+ .newCuVSResources(tempDirectory, memoryTrackingCsvPath, memoryTrackingSampleInterval);
}
}
diff --git a/java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswAceParams.java b/java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswAceParams.java
index 325f424fae..41370f0ac5 100644
--- a/java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswAceParams.java
+++ b/java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswAceParams.java
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION.
+ * SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*/
package com.nvidia.cuvs;
@@ -21,8 +21,12 @@ public class HnswAceParams {
private double maxHostMemoryGb;
private double maxGpuMemoryGb;
- private HnswAceParams(long npartitions, String buildDir, boolean useDisk,
- double maxHostMemoryGb, double maxGpuMemoryGb) {
+ private HnswAceParams(
+ long npartitions,
+ String buildDir,
+ boolean useDisk,
+ double maxHostMemoryGb,
+ double maxGpuMemoryGb) {
this.npartitions = npartitions;
this.buildDir = buildDir;
this.useDisk = useDisk;
@@ -188,8 +192,7 @@ public Builder withMaxGpuMemoryGb(double maxGpuMemoryGb) {
* @return an instance of {@link HnswAceParams}
*/
public HnswAceParams build() {
- return new HnswAceParams(npartitions, buildDir, useDisk,
- maxHostMemoryGb, maxGpuMemoryGb);
+ return new HnswAceParams(npartitions, buildDir, useDisk, maxHostMemoryGb, maxGpuMemoryGb);
}
}
}
diff --git a/java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java b/java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java
index 070cbedae1..294e21cce5 100644
--- a/java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java
+++ b/java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION.
+ * SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*/
package com.nvidia.cuvs;
@@ -283,13 +283,7 @@ public Builder withAceParams(HnswAceParams aceParams) {
*/
public HnswIndexParams build() {
return new HnswIndexParams(
- hierarchy,
- efConstruction,
- numThreads,
- vectorDimension,
- m,
- metric,
- aceParams);
+ hierarchy, efConstruction, numThreads, vectorDimension, m, metric, aceParams);
}
}
}
diff --git a/java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java b/java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java
index 60a2928aec..fc4dc990a0 100644
--- a/java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java
+++ b/java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/CuVSProvider.java
@@ -54,9 +54,8 @@ default Path nativeLibraryPath() {
* CSV samples
*/
default CuVSResources newCuVSResources(
- Path tempDirectory,
- Path memoryTrackingCsvPath,
- Duration memoryTrackingSampleInterval) throws Throwable {
+ Path tempDirectory, Path memoryTrackingCsvPath, Duration memoryTrackingSampleInterval)
+ throws Throwable {
throw new UnsupportedOperationException(
"Memory-tracking resources are not supported by this provider");
}
diff --git a/java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/UnsupportedProvider.java b/java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/UnsupportedProvider.java
index 0c5643d2a3..bbb6257eff 100644
--- a/java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/UnsupportedProvider.java
+++ b/java/cuvs-java/src/main/java/com/nvidia/cuvs/spi/UnsupportedProvider.java
@@ -28,9 +28,7 @@ public CuVSResources newCuVSResources(Path tempDirectory) {
@Override
public CuVSResources newCuVSResources(
- Path tempDirectory,
- Path memoryTrackingCsvPath,
- Duration memoryTrackingSampleInterval) {
+ Path tempDirectory, Path memoryTrackingCsvPath, Duration memoryTrackingSampleInterval) {
throw new UnsupportedOperationException(reasons);
}
diff --git a/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/CagraIndexImpl.java b/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/CagraIndexImpl.java
index abc53a5945..93ad965a72 100644
--- a/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/CagraIndexImpl.java
+++ b/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/CagraIndexImpl.java
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION.
+ * SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*/
package com.nvidia.cuvs.internal;
@@ -632,8 +632,10 @@ private static void populateNativeIndexParams(
cuvsAceParams.npartitions(cuvsAceParamsMemorySegment, cuVSAceParams.getNpartitions());
cuvsAceParams.ef_construction(cuvsAceParamsMemorySegment, cuVSAceParams.getEfConstruction());
cuvsAceParams.use_disk(cuvsAceParamsMemorySegment, cuVSAceParams.isUseDisk());
- cuvsAceParams.max_host_memory_gb(cuvsAceParamsMemorySegment, cuVSAceParams.getMaxHostMemoryGb());
- cuvsAceParams.max_gpu_memory_gb(cuvsAceParamsMemorySegment, cuVSAceParams.getMaxGpuMemoryGb());
+ cuvsAceParams.max_host_memory_gb(
+ cuvsAceParamsMemorySegment, cuVSAceParams.getMaxHostMemoryGb());
+ cuvsAceParams.max_gpu_memory_gb(
+ cuvsAceParamsMemorySegment, cuVSAceParams.getMaxGpuMemoryGb());
String buildDir = cuVSAceParams.getBuildDir();
if (buildDir != null && !buildDir.isEmpty()) {
diff --git a/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/CuVSResourcesImpl.java b/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/CuVSResourcesImpl.java
index 454ef57b81..e3c88e0ca9 100644
--- a/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/CuVSResourcesImpl.java
+++ b/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/CuVSResourcesImpl.java
@@ -6,7 +6,6 @@
import static com.nvidia.cuvs.internal.common.Util.checkCuVSError;
import static com.nvidia.cuvs.internal.panama.headers_h.*;
-import static com.nvidia.cuvs.internal.panama.headers_h_1.C_INT;
import com.nvidia.cuvs.CuVSResources;
import com.nvidia.cuvs.DelegatingScopedAccess;
@@ -68,17 +67,13 @@ public CuVSResourcesImpl(Path tempDirectory) {
* CSV samples
*/
public CuVSResourcesImpl(
- Path tempDirectory,
- Path memoryTrackingCsvPath,
- Duration memoryTrackingSampleInterval) {
+ Path tempDirectory, Path memoryTrackingCsvPath, Duration memoryTrackingSampleInterval) {
this.tempDirectory = tempDirectory;
try (var localArena = Arena.ofConfined()) {
var resourcesMemorySegment = localArena.allocate(cuvsResources_t);
- byte[] pathBytes =
- memoryTrackingCsvPath.toString().getBytes(StandardCharsets.UTF_8);
+ byte[] pathBytes = memoryTrackingCsvPath.toString().getBytes(StandardCharsets.UTF_8);
var pathSegment = localArena.allocate(pathBytes.length + 1L);
- MemorySegment.copy(
- pathBytes, 0, pathSegment, ValueLayout.JAVA_BYTE, 0, pathBytes.length);
+ MemorySegment.copy(pathBytes, 0, pathSegment, ValueLayout.JAVA_BYTE, 0, pathBytes.length);
pathSegment.set(ValueLayout.JAVA_BYTE, pathBytes.length, (byte) 0);
long sampleIntervalMs = memoryTrackingSampleInterval.toMillis();
checkCuVSError(
diff --git a/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/GPUInfoProviderImpl.java b/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/GPUInfoProviderImpl.java
index f77d417069..6860fb9e89 100644
--- a/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/GPUInfoProviderImpl.java
+++ b/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/GPUInfoProviderImpl.java
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: Copyright (c) 2025, NVIDIA CORPORATION.
+ * SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*/
package com.nvidia.cuvs.internal;
@@ -7,8 +7,7 @@
import static com.nvidia.cuvs.internal.common.LinkerHelper.C_INT;
import static com.nvidia.cuvs.internal.common.Util.checkCudaError;
import static com.nvidia.cuvs.internal.common.Util.cudaGetDeviceProperties;
-import static com.nvidia.cuvs.internal.panama.headers_h.cudaMemGetInfo;
-import static com.nvidia.cuvs.internal.panama.headers_h_1.*;
+import static com.nvidia.cuvs.internal.panama.headers_h.*;
import com.nvidia.cuvs.CuVSResources;
import com.nvidia.cuvs.CuVSResourcesInfo;
diff --git a/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/HnswIndexImpl.java b/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/HnswIndexImpl.java
index ca528ac010..58457e0405 100644
--- a/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/HnswIndexImpl.java
+++ b/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/HnswIndexImpl.java
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION.
+ * SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*/
package com.nvidia.cuvs.internal;
@@ -251,8 +251,8 @@ public static HnswIndex.Builder newBuilder(CuVSResources cuvsResources) {
* @return A new HNSW index ready for search
* @throws Throwable if an error occurs during building
*/
- public static HnswIndex build(CuVSResources resources, HnswIndexParams hnswParams, CuVSMatrix dataset)
- throws Throwable {
+ public static HnswIndex build(
+ CuVSResources resources, HnswIndexParams hnswParams, CuVSMatrix dataset) throws Throwable {
Objects.requireNonNull(resources);
Objects.requireNonNull(hnswParams);
Objects.requireNonNull(dataset);
@@ -288,7 +288,8 @@ public static HnswIndex build(CuVSResources resources, HnswIndexParams hnswParam
return new HnswIndexImpl(new IndexReference(hnswIndex), resources, hnswParams);
}
- private static CloseableHandle createHnswIndexParamsForBuild(Arena arena, HnswIndexParams params) {
+ private static CloseableHandle createHnswIndexParamsForBuild(
+ Arena arena, HnswIndexParams params) {
var hnswParams = createHnswIndexParams();
MemorySegment seg = hnswParams.handle();
@@ -324,7 +325,7 @@ private static MemorySegment prepareTensorFromMatrix(Arena arena, CuVSMatrix dat
return prepareTensor(
arena,
matrixInternal.memorySegment(),
- new long[]{dataset.size(), dataset.columns()},
+ new long[] {dataset.size(), dataset.columns()},
matrixInternal.code(),
matrixInternal.bits(),
kDLCPU());
diff --git a/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/common/Util.java b/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/common/Util.java
index 7ca7640cd8..253b8a447a 100644
--- a/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/common/Util.java
+++ b/java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/common/Util.java
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION.
+ * SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*/
package com.nvidia.cuvs.internal.common;
@@ -9,7 +9,6 @@
import static com.nvidia.cuvs.internal.common.LinkerHelper.C_INT;
import static com.nvidia.cuvs.internal.common.LinkerHelper.C_LONG;
import static com.nvidia.cuvs.internal.panama.headers_h.*;
-import static com.nvidia.cuvs.internal.panama.headers_h_1.cudaStream_t;
import com.nvidia.cuvs.CuVSResources;
import com.nvidia.cuvs.internal.panama.DLDataType;
diff --git a/java/cuvs-java/src/main/java22/com/nvidia/cuvs/spi/JDKProvider.java b/java/cuvs-java/src/main/java22/com/nvidia/cuvs/spi/JDKProvider.java
index c9cff1e272..e067120642 100644
--- a/java/cuvs-java/src/main/java22/com/nvidia/cuvs/spi/JDKProvider.java
+++ b/java/cuvs-java/src/main/java22/com/nvidia/cuvs/spi/JDKProvider.java
@@ -235,9 +235,7 @@ public CuVSResources newCuVSResources(Path tempDirectory) {
@Override
public CuVSResources newCuVSResources(
- Path tempDirectory,
- Path memoryTrackingCsvPath,
- Duration memoryTrackingSampleInterval) {
+ Path tempDirectory, Path memoryTrackingCsvPath, Duration memoryTrackingSampleInterval) {
Objects.requireNonNull(tempDirectory);
Objects.requireNonNull(memoryTrackingCsvPath);
Objects.requireNonNull(memoryTrackingSampleInterval);
diff --git a/java/cuvs-java/src/test/java/com/nvidia/cuvs/CagraAceBuildAndSearchIT.java b/java/cuvs-java/src/test/java/com/nvidia/cuvs/CagraAceBuildAndSearchIT.java
index a2639be5c4..1ca1ee93da 100644
--- a/java/cuvs-java/src/test/java/com/nvidia/cuvs/CagraAceBuildAndSearchIT.java
+++ b/java/cuvs-java/src/test/java/com/nvidia/cuvs/CagraAceBuildAndSearchIT.java
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION.
+ * SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*/
package com.nvidia.cuvs;
@@ -187,7 +187,10 @@ public void testAceDiskBasedBuild() throws Throwable {
// Convert CAGRA index to HNSW using fromCagra
// This automatically handles disk-based indices
HnswIndexParams hnswIndexParams =
- new HnswIndexParams.Builder().withVectorDimension(2).withHierarchy(HnswHierarchy.GPU).build();
+ new HnswIndexParams.Builder()
+ .withVectorDimension(2)
+ .withHierarchy(HnswHierarchy.GPU)
+ .build();
try (var hnswIndexSerialized = HnswIndex.fromCagra(hnswIndexParams, index)) {
var hnswIndexSerializedPath = buildDir.resolve("hnsw_index.bin");
diff --git a/java/cuvs-java/src/test/java/com/nvidia/cuvs/HnswAceBuildAndSearchIT.java b/java/cuvs-java/src/test/java/com/nvidia/cuvs/HnswAceBuildAndSearchIT.java
index 17d64838dc..835fcd6e23 100644
--- a/java/cuvs-java/src/test/java/com/nvidia/cuvs/HnswAceBuildAndSearchIT.java
+++ b/java/cuvs-java/src/test/java/com/nvidia/cuvs/HnswAceBuildAndSearchIT.java
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION.
+ * SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*/
package com.nvidia.cuvs;
@@ -227,7 +227,8 @@ public void testHnswAceWithDifferentHierarchy() throws Throwable {
float[][] queries = createSampleQueries();
List