From 81ddf7af9f8693fe3135bce46ea66ac5f7f3ef0b Mon Sep 17 00:00:00 2001 From: dyma solovei Date: Tue, 23 Jun 2026 19:30:08 +0200 Subject: [PATCH 1/3] feat(backup): add incremental_base_backup_id to backup creation options --- .../client6/v1/api/backup/CreateBackupRequest.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/io/weaviate/client6/v1/api/backup/CreateBackupRequest.java b/src/main/java/io/weaviate/client6/v1/api/backup/CreateBackupRequest.java index e7c15d02e..9a4950c6c 100644 --- a/src/main/java/io/weaviate/client6/v1/api/backup/CreateBackupRequest.java +++ b/src/main/java/io/weaviate/client6/v1/api/backup/CreateBackupRequest.java @@ -26,6 +26,7 @@ public static record BackupCreate( @SerializedName("id") String id, @SerializedName("include") List includeCollections, @SerializedName("exclude") List excludeCollections, + @SerializedName("incremental_base_backup_id") String prefixIncremental, @SerializedName("config") Config config) { private static record Config( @@ -48,6 +49,7 @@ public BackupCreate(Builder builder) { builder.backupId, builder.includeCollections, builder.excludeCollections, + builder.prefixIncremental, new Config( builder.cpuPercentage, builder.compressionLevel, @@ -58,6 +60,7 @@ public BackupCreate(Builder builder) { public static class Builder implements ObjectBuilder { private final String backupId; + private String prefixIncremental; private Integer cpuPercentage; private CompressionLevel compressionLevel; private String bucket; @@ -69,6 +72,12 @@ public Builder(String backupId) { this.backupId = backupId; } + /** Prefix for incremental backup IDs. */ + public Builder prefixIncremental(String prefixIncremental) { + this.prefixIncremental = prefixIncremental; + return this; + } + /** Collection that should be included in the backup. */ public Builder includeCollections(String... includeCollections) { return includeCollections(Arrays.asList(includeCollections)); From d29f32d49eb4a1faa13966cb44dfba355dea3d07 Mon Sep 17 00:00:00 2001 From: dyma solovei Date: Tue, 23 Jun 2026 19:30:56 +0200 Subject: [PATCH 2/3] feat(gh-577): read incremental_base_backup_id from the response --- src/main/java/io/weaviate/client6/v1/api/backup/Backup.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/io/weaviate/client6/v1/api/backup/Backup.java b/src/main/java/io/weaviate/client6/v1/api/backup/Backup.java index 9fa1c1025..a945040ef 100644 --- a/src/main/java/io/weaviate/client6/v1/api/backup/Backup.java +++ b/src/main/java/io/weaviate/client6/v1/api/backup/Backup.java @@ -35,6 +35,8 @@ public record Backup( @SerializedName("completedAt") OffsetDateTime completedAt, /** Backup size in GiB. */ @SerializedName("size") Float sizeGiB, + /** Prefix for the incremental backup IDs. */ + @SerializedName("incremental_base_backup_id") String prefixIncremental, /** * This value indicates if a backup is being created or restored from. * For operations like LIST this value is null. @@ -55,6 +57,7 @@ Backup withOperation(Operation operation) { startedAt, completedAt, sizeGiB, + prefixIncremental, operation); } From 47e0005214f3cfa681095a7167fa8afff533aa6d Mon Sep 17 00:00:00 2001 From: dyma solovei Date: Tue, 23 Jun 2026 19:39:04 +0200 Subject: [PATCH 3/3] test(backup): fix missing parameter --- src/it/java/io/weaviate/integration/BackupITest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/it/java/io/weaviate/integration/BackupITest.java b/src/it/java/io/weaviate/integration/BackupITest.java index bcab53de8..43b62d017 100644 --- a/src/it/java/io/weaviate/integration/BackupITest.java +++ b/src/it/java/io/weaviate/integration/BackupITest.java @@ -245,7 +245,7 @@ public void test_lifecycle_async() throws ExecutionException, InterruptedExcepti @Test(expected = IllegalStateException.class) public void test_waitForCompletion_unknown() throws IOException, TimeoutException { var backup = new Backup("#1", "/tmp/bak/#1", "filesystem", List.of("Things"), BackupStatus.STARTED, - null, null, null, null, null); + null, null, null, null, null, null); backup.waitForCompletion(client); }