From 8d63c5b2dac2460fb256bd103213057ad2d2b495 Mon Sep 17 00:00:00 2001 From: Jorge Esteban Quilcate Otoya Date: Thu, 13 Aug 2026 01:26:12 +0300 Subject: [PATCH 1/2] test(inkless:control_plane): add commit_file fan-out cost benchmark Production metrics show one cluster committing ~632 distinct partitions and ~1580 batches per 4 MiB file (p999), and another ~130 partitions at the same file size. Fan-out is therefore a workload property, but nothing told us what it costs the control plane, and the existing coalescing benchmark tops out at 64 partitions. This harness answers the two questions field metrics cannot separate: - fanOutSweep holds batches-per-commit constant and varies only the partition spread. The commit_file_v1 leg is the controlled one: v1 writes one batches row per request regardless of shape, so insert volume and request-array size stay fixed and partition count is the only variable. It also samples WAL via a pg_current_wal_lsn() delta. - tempTableChurnFloor prices the per-call CREATE TEMPORARY TABLE ... AS / DROP pair on its own, empty and at production width, so the DDL can be compared against whole-commit numbers instead of assumed expensive. - walFromLoopedUpdates contrasts the per-request staging updates against the same updates on a logged table, which is what the staging table exists to avoid. Baseline on this commit (local container, 1600 batches per commit, v2 leg): 83.1 ms at 16 partitions, 106.5 at 320, 112.5 at 640, 213.4 at 1600; the temp-table pair costs 867 us empty and 968 us at 630-row width; WAL fits 18 KiB + 0.63 KiB per batches row. Tagged benchmark, so excluded from check/test; run with ./gradlew :storage:inkless:benchmarkTest. --- .../CommitFileFanOutCostBenchmarkTest.java | 274 ++++++++++++++++++ 1 file changed, 274 insertions(+) create mode 100644 storage/inkless/src/test/java/io/aiven/inkless/control_plane/postgres/CommitFileFanOutCostBenchmarkTest.java diff --git a/storage/inkless/src/test/java/io/aiven/inkless/control_plane/postgres/CommitFileFanOutCostBenchmarkTest.java b/storage/inkless/src/test/java/io/aiven/inkless/control_plane/postgres/CommitFileFanOutCostBenchmarkTest.java new file mode 100644 index 0000000000..92f692ba99 --- /dev/null +++ b/storage/inkless/src/test/java/io/aiven/inkless/control_plane/postgres/CommitFileFanOutCostBenchmarkTest.java @@ -0,0 +1,274 @@ +/* + * Inkless + * Copyright (C) 2024 - 2026 Aiven OY + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +package io.aiven.inkless.control_plane.postgres; + +import org.apache.kafka.common.TopicIdPartition; +import org.apache.kafka.common.Uuid; +import org.apache.kafka.common.record.TimestampType; +import org.apache.kafka.common.utils.MockTime; +import org.apache.kafka.common.utils.Time; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInfo; +import org.testcontainers.junit.jupiter.Container; +import org.testcontainers.junit.jupiter.Testcontainers; + +import java.sql.Connection; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +import io.aiven.inkless.common.ObjectFormat; +import io.aiven.inkless.control_plane.CommitBatchRequest; +import io.aiven.inkless.control_plane.CreateTopicAndPartitionsRequest; +import io.aiven.inkless.test_utils.InklessPostgreSQLContainer; +import io.aiven.inkless.test_utils.PostgreSQLTestContainer; + +/** + * Answers two questions about {@code commit_file}'s cost model that production metrics cannot separate, + * and that decide whether write-path fan-out is worth managing at all (wiki G24). + * + *

Q1 — is commit cost proportional to fan-out, or fixed per transaction? {@link #fanOutSweep()} + * holds the number of batches per commit constant and varies only the number of distinct partitions they + * spread over. The v1 leg is the controlled one: {@code commit_file_v1} writes one {@code batches} row per + * request regardless of shape, so insert volume, file count and request-array size are all constant and + * partition count is the only variable. Growth along that leg can only come from the per-partition work: + * the {@code logs_tmp} seed width, the unindexed per-request {@code UPDATE logs_tmp} scan, the + * {@code logs FOR UPDATE} set, and the final dump. A flat v1 leg means fixed overhead dominates and no + * rotation policy can help; a rising leg means commit is superlinear in fan-out. + * + *

Q2 — what does the per-call temp table actually cost? {@link #tempTableChurnFloor()} times + * the {@code CREATE TEMPORARY TABLE ... AS SELECT} / {@code DROP} pair on its own, both empty (catalog + * floor) and at production width, so the DDL can be priced against the whole-commit numbers instead of + * being assumed expensive. + * + *

Timings are wall clock against a local container: indicative, and only comparable within a run. + */ +@Tag("benchmark") +@Testcontainers +class CommitFileFanOutCostBenchmarkTest { + @Container + static final InklessPostgreSQLContainer pgContainer = PostgreSQLTestContainer.container(); + + private static final int BROKER_ID = 11; + private static final long FILE_SIZE = 4 * 1024 * 1024; + private static final int BATCH_BYTES = 2600; // ~ prod p999: 4 MiB / 1600 batches + private static final int BATCHES_PER_COMMIT = 1600; + private static final int COMMITS_PER_SHAPE = 30; + private static final int CHURN_ITERATIONS = 2000; + + private final Time time = new MockTime(); + private int topicSeq = 0; + + @BeforeEach + void setUp(final TestInfo testInfo) { + pgContainer.createDatabase(testInfo); + pgContainer.migrate(); + } + + @AfterEach + void tearDown() { + pgContainer.tearDown(); + } + + @Test + void fanOutSweep() { + // Each shape carries BATCHES_PER_COMMIT batches; only the spread changes. + final List partitionCounts = List.of(16, 80, 320, 640, 800, 1600); + + msPerCommit(16, BATCHES_PER_COMMIT / 16, false); // warm up JIT + PG caches before measuring + + final StringBuilder out = new StringBuilder(); + out.append(String.format("%n== COMMIT COST vs FAN-OUT (constant %d batches per commit) ==%n", + BATCHES_PER_COMMIT)); + out.append(String.format("%-30s | %12s | %12s | %12s | %12s | %16s%n", + "shape", "v1 ms/commit", "v2 ms/commit", "v1 KiB WAL", "v2 KiB WAL", "tmp visits (M)")); + out.append("-".repeat(113)).append(String.format("%n")); + + for (final int partitions : partitionCounts) { + final int batchesPerPartition = BATCHES_PER_COMMIT / partitions; + final Result v1 = measure(partitions, batchesPerPartition, false); + final Result v2 = measure(partitions, batchesPerPartition, true); + out.append(String.format("%-30s | %12.3f | %12.3f | %12.1f | %12.1f | %16.3f%n", + partitions + " parts x " + batchesPerPartition, + v1.msPerCommit, v2.msPerCommit, + v1.walBytesPerCommit / 1024, v2.walBytesPerCommit / 1024, + (double) partitions * BATCHES_PER_COMMIT / 1_000_000)); + } + out.append(String.format("%nv1 leg is the controlled one (constant %d batches rows inserted per commit; " + + "only partition count varies). v2 additionally collapses runs, so its batches-row count falls " + + "as fan-out falls.%n" + + "'tmp visits' = batches x partitions, the tuple-visit count implied by the unindexed " + + "per-request UPDATE logs_tmp scan; compare its growth against the measured growth.%n" + + "WAL is a pg_current_wal_lsn() delta over the shape's commits, so it includes background " + + "activity (checkpoints, autovacuum) and is indicative only.%n", + BATCHES_PER_COMMIT)); + System.out.println(out); + } + + @Test + void walFromLoopedUpdates() throws Exception { + createTopic(630); + try (Connection connection = pgContainer.getDataSource().getConnection(); + Statement statement = connection.createStatement()) { + statement.execute("CREATE TABLE probe_perm AS SELECT * FROM logs"); + statement.execute(""" + CREATE OR REPLACE FUNCTION probe_looped_updates(arg_iterations INT, arg_permanent BOOLEAN) + RETURNS VOID LANGUAGE plpgsql VOLATILE AS $$ + BEGIN + CREATE TEMPORARY TABLE probe_tmp ON COMMIT DROP AS SELECT * FROM logs; + FOR i IN 1..arg_iterations LOOP + IF arg_permanent THEN + UPDATE probe_perm SET byte_size = byte_size + 1 WHERE partition = i % 630; + ELSE + UPDATE probe_tmp SET byte_size = byte_size + 1 WHERE partition = i % 630; + END IF; + END LOOP; + END; + $$; + """); + connection.commit(); + } + + walForLoopedUpdates(false); // discard: first call pays one-off plan/catalog costs + final double tempWal = walForLoopedUpdates(false); + final double permWal = walForLoopedUpdates(true); + + System.out.println(String.format("%n== WAL FROM %d LOOPED UPDATES (the statements the fix removes) ==%n" + + "on a TEMPORARY table (today's logs_tmp): %10.1f KiB%n" + + "on a regular table (same rows, for scale): %10.1f KiB%n" + + "The temporary leg still creates the temp table per call, so its figure is the " + + "CREATE's catalog WAL, not the updates.%n", + BATCHES_PER_COMMIT, tempWal / 1024, permWal / 1024)); + } + + private double walForLoopedUpdates(final boolean permanent) { + final String lsnBefore = walLsn(); + pgContainer.getJooqCtx().transaction(cfg -> + cfg.dsl().execute("SELECT probe_looped_updates({0}, {1})", BATCHES_PER_COMMIT, permanent)); + return walBytesSince(lsnBefore); + } + + @Test + void tempTableChurnFloor() throws Exception { + try (Connection connection = pgContainer.getDataSource().getConnection(); + Statement statement = connection.createStatement()) { + statement.execute(""" + CREATE OR REPLACE FUNCTION probe_temp_table_churn(arg_iterations INT, arg_rows INT) + RETURNS DOUBLE PRECISION LANGUAGE plpgsql VOLATILE AS $$ + DECLARE + l_start TIMESTAMP WITH TIME ZONE; + BEGIN + l_start := clock_timestamp(); + FOR i IN 1..arg_iterations LOOP + CREATE TEMPORARY TABLE probe_tmp AS + SELECT * FROM logs LIMIT arg_rows; + DROP TABLE probe_tmp; + END LOOP; + RETURN EXTRACT(EPOCH FROM (clock_timestamp() - l_start)) * 1000000 / arg_iterations; + END; + $$; + """); + connection.commit(); // pool hands out autoCommit=false connections + } + + // Populate `logs` so the width-630 probe copies real rows. + createTopic(630); + + final double emptyUs = probe(0); + final double widthUs = probe(630); + + System.out.println(String.format("%n== TEMP TABLE CREATE+DROP COST (%d iterations each) ==%n" + + "catalog floor (0 rows copied): %8.1f us/pair%n" + + "production width (630 rows): %8.1f us/pair%n%n" + + "Compare against v1/v2 ms/commit from fanOutSweep: this pair is paid once per commit.%n", + CHURN_ITERATIONS, emptyUs, widthUs)); + } + + private double probe(final int rows) { + return pgContainer.getJooqCtx() + .fetchOne("SELECT probe_temp_table_churn({0}, {1})", CHURN_ITERATIONS, rows) + .get(0, Double.class); + } + + private record Result(double msPerCommit, double walBytesPerCommit) { + } + + private double msPerCommit(final int partitions, final int batchesPerPartition, final boolean coalesce) { + return measure(partitions, batchesPerPartition, coalesce).msPerCommit(); + } + + private Result measure(final int partitions, final int batchesPerPartition, final boolean coalesce) { + final List topicPartitions = createTopic(partitions); + final String lsnBefore = walLsn(); + long nanos = 0; + for (int w = 0; w < COMMITS_PER_SHAPE; w++) { + final List requests = commitWindow(topicPartitions, batchesPerPartition); + final CommitFileJob commit = new CommitFileJob( + time, pgContainer.getJooqCtx(), + "file-" + topicPartitions.get(0).topicId() + "-" + w, + ObjectFormat.WRITE_AHEAD_MULTI_SEGMENT, BROKER_ID, FILE_SIZE, requests, coalesce, duration -> { }); + final long start = System.nanoTime(); + commit.call(); + nanos += System.nanoTime() - start; + } + final double walBytes = walBytesSince(lsnBefore); + return new Result(nanos / 1_000_000.0 / COMMITS_PER_SHAPE, walBytes / COMMITS_PER_SHAPE); + } + + private String walLsn() { + return pgContainer.getJooqCtx().fetchOne("SELECT pg_current_wal_lsn()::text").get(0, String.class); + } + + private double walBytesSince(final String lsnBefore) { + return pgContainer.getJooqCtx() + .fetchOne("SELECT pg_wal_lsn_diff(pg_current_wal_lsn(), {0}::pg_lsn)", lsnBefore) + .get(0, Double.class); + } + + private List createTopic(final int partitionCount) { + final Uuid topicId = new Uuid(11, ++topicSeq); + final String topicName = "fanout-" + topicSeq; + new TopicsAndPartitionsCreateJob(Time.SYSTEM, pgContainer.getJooqCtx(), + Set.of(new CreateTopicAndPartitionsRequest(topicId, topicName, partitionCount)), duration -> { }).run(); + final List partitions = new ArrayList<>(partitionCount); + for (int p = 0; p < partitionCount; p++) { + partitions.add(new TopicIdPartition(topicId, p, topicName)); + } + return partitions; + } + + /** Batches grouped by partition and byte-contiguous, as {@code BatchBuffer.close()} lays them out. */ + private List commitWindow(final List partitions, + final int batchesPerPartition) { + final List requests = new ArrayList<>(partitions.size() * batchesPerPartition); + int byteOffset = 0; + for (final TopicIdPartition partition : partitions) { + for (int b = 0; b < batchesPerPartition; b++) { + requests.add(CommitBatchRequest.of( + 0, partition, byteOffset, BATCH_BYTES, 0, 0, time.milliseconds(), TimestampType.CREATE_TIME)); + byteOffset += BATCH_BYTES; + } + } + return requests; + } +} From 5541b02d70bb44ea6139e9a5cfac60dafc9e0ec6 Mon Sep 17 00:00:00 2001 From: Jorge Esteban Quilcate Otoya Date: Thu, 13 Aug 2026 01:26:26 +0300 Subject: [PATCH 2/2] fix(inkless:control_plane): stop re-scanning logs_tmp once per committed batch commit_file_v2 ran one `UPDATE logs_tmp ... RETURNING high_watermark` per accepted request, purely to keep the l_log variable in sync with the staging table. logs_tmp is created by CTAS and so has no index, which made that update a seqscan over one row per distinct partition in the file: staging cost was O(requests x partitions), quadratic in fan-out. V25 accumulates in l_log instead and writes back once per partition run - at each partition change, before the SELECT overwrites the variable, and once after the loop. Staging cost becomes O(partitions). The transformation is semantics-preserving: l_log was already the value the loop reads (l_assigned_offset and the run bookkeeping both consume it), and the RETURNING existed only to refresh it. The write-back sets absolute values rather than deltas, so re-reading a partition after a flush yields the accumulated state; correctness therefore no longer depends on arg_requests being grouped by partition, which the previous code relied on for efficiency only. Rejecting branches still CONTINUE above the accumulation, so a rejected request leaves the watermark untouched, and a partition missing from logs leaves l_log all-NULL, which both flush sites guard against. Measured with CommitFileFanOutCostBenchmarkTest (1600 batches per commit, v2 leg, before -> after): 106.5 -> 77.2 ms at 320 partitions, 112.5 -> 85.4 at 640, 145.9 -> 109.6 at 800. The 1600-partitions-by-1-batch shape is the control - there flush-per-run is update-per-request, so no saving is possible and none appears (213.4 -> 208.3, within noise). WAL is unchanged: logs_tmp is a temporary relation and is not WAL-logged (the same 1600 updates against a logged table cost 345 KiB), and the transfer into real logs is still one UPDATE per partition. commit_file_v1 keeps the old accumulation: it is deprecated, retained only for mid-rolling-upgrade brokers and as the coalescing benchmark's baseline. --- .../org/jooq/generated/DefaultSchema.java | 2 +- .../main/jooq/org/jooq/generated/Domains.java | 2 +- .../main/jooq/org/jooq/generated/Indexes.java | 2 +- .../main/jooq/org/jooq/generated/Keys.java | 2 +- .../jooq/org/jooq/generated/Routines.java | 2 +- .../main/jooq/org/jooq/generated/Tables.java | 2 +- .../main/jooq/org/jooq/generated/UDTs.java | 2 +- ...vanceCrossTierLogStartResponseErrorV1.java | 2 +- .../enums/CommitBatchResponseErrorV1.java | 2 +- .../enums/DeleteRecordsResponseErrorV1.java | 2 +- .../EnforceRetentionResponseErrorV1.java | 2 +- .../org/jooq/generated/enums/FileReasonT.java | 2 +- .../org/jooq/generated/enums/FileStateT.java | 2 +- .../enums/FindBatchesResponseErrorV1.java | 2 +- .../enums/InitDisklessLogErrorV1.java | 2 +- .../enums/ListOffsetsResponseErrorV1.java | 2 +- ...atchesBelowHighestTieredOffsetErrorV1.java | 2 +- .../generated/routines/BatchTimestamp.java | 2 +- .../generated/routines/DeleteBatchV1.java | 2 +- .../generated/routines/DeleteFilesV1.java | 2 +- .../generated/routines/DeleteTopicV1.java | 2 +- .../generated/routines/FlushCommitRunV2.java | 2 +- .../routines/MarkFileToDeleteV1.java | 2 +- .../tables/AdvanceCrossTierLogStartV1.java | 2 +- .../org/jooq/generated/tables/Batches.java | 4 +- .../jooq/generated/tables/CommitFileV1.java | 2 +- .../jooq/generated/tables/CommitFileV2.java | 2 +- .../generated/tables/DeleteRecordsV1.java | 2 +- .../generated/tables/EnforceRetentionV1.java | 2 +- .../generated/tables/EnforceRetentionV2.java | 2 +- .../jooq/org/jooq/generated/tables/Files.java | 4 +- .../jooq/generated/tables/FindBatchesV1.java | 2 +- .../jooq/generated/tables/FindBatchesV2.java | 2 +- .../generated/tables/InitDisklessLogV1.java | 2 +- .../jooq/generated/tables/ListOffsetsV1.java | 2 +- .../jooq/org/jooq/generated/tables/Logs.java | 4 +- .../jooq/generated/tables/ProducerState.java | 2 +- ...runeBatchesBelowHighestTieredOffsetV1.java | 2 +- .../generated/tables/RepairDisklessLogV1.java | 2 +- .../AdvanceCrossTierLogStartV1Record.java | 2 +- .../tables/records/BatchesRecord.java | 2 +- .../tables/records/CommitFileV1Record.java | 2 +- .../tables/records/CommitFileV2Record.java | 2 +- .../tables/records/DeleteRecordsV1Record.java | 2 +- .../records/EnforceRetentionV1Record.java | 2 +- .../records/EnforceRetentionV2Record.java | 2 +- .../generated/tables/records/FilesRecord.java | 2 +- .../tables/records/FindBatchesV1Record.java | 2 +- .../tables/records/FindBatchesV2Record.java | 2 +- .../records/InitDisklessLogV1Record.java | 2 +- .../tables/records/ListOffsetsV1Record.java | 2 +- .../generated/tables/records/LogsRecord.java | 2 +- .../tables/records/ProducerStateRecord.java | 2 +- ...tchesBelowHighestTieredOffsetV1Record.java | 2 +- .../records/RepairDisklessLogV1Record.java | 2 +- .../AdvanceCrossTierLogStartRequestV1.java | 2 +- .../AdvanceCrossTierLogStartResponseV1.java | 2 +- .../org/jooq/generated/udt/BatchInfoV1.java | 2 +- .../jooq/generated/udt/BatchMetadataV1.java | 2 +- .../generated/udt/CommitBatchRequestV1.java | 2 +- .../generated/udt/CommitBatchResponseV1.java | 2 +- .../generated/udt/DeleteRecordsRequestV1.java | 2 +- .../udt/DeleteRecordsResponseV1.java | 2 +- .../udt/EnforceRetentionRequestV1.java | 2 +- .../udt/EnforceRetentionResponseV1.java | 2 +- .../generated/udt/FindBatchesRequestV1.java | 2 +- .../generated/udt/FindBatchesResponseV1.java | 2 +- .../udt/InitDisklessLogProducerStateV1.java | 2 +- .../udt/InitDisklessLogRequestV1.java | 2 +- .../udt/InitDisklessLogResponseV1.java | 2 +- .../generated/udt/ListOffsetsRequestV1.java | 2 +- .../generated/udt/ListOffsetsResponseV1.java | 2 +- ...chesBelowHighestTieredOffsetRequestV1.java | 2 +- ...hesBelowHighestTieredOffsetResponseV1.java | 2 +- .../udt/RepairDisklessLogRequestV1.java | 2 +- .../udt/RepairDisklessLogResponseV1.java | 2 +- ...AdvanceCrossTierLogStartRequestV1Path.java | 2 +- ...dvanceCrossTierLogStartResponseV1Path.java | 2 +- .../generated/udt/paths/BatchInfoV1Path.java | 2 +- .../udt/paths/BatchMetadataV1Path.java | 2 +- .../udt/paths/CommitBatchRequestV1Path.java | 2 +- .../udt/paths/CommitBatchResponseV1Path.java | 2 +- .../udt/paths/DeleteRecordsRequestV1Path.java | 2 +- .../paths/DeleteRecordsResponseV1Path.java | 2 +- .../paths/EnforceRetentionRequestV1Path.java | 2 +- .../paths/EnforceRetentionResponseV1Path.java | 2 +- .../udt/paths/FindBatchesRequestV1Path.java | 2 +- .../udt/paths/FindBatchesResponseV1Path.java | 2 +- .../InitDisklessLogProducerStateV1Path.java | 2 +- .../paths/InitDisklessLogRequestV1Path.java | 2 +- .../paths/InitDisklessLogResponseV1Path.java | 2 +- .../udt/paths/ListOffsetsRequestV1Path.java | 2 +- .../udt/paths/ListOffsetsResponseV1Path.java | 2 +- ...BelowHighestTieredOffsetRequestV1Path.java | 2 +- ...elowHighestTieredOffsetResponseV1Path.java | 2 +- .../paths/RepairDisklessLogRequestV1Path.java | 2 +- .../RepairDisklessLogResponseV1Path.java | 2 +- ...vanceCrossTierLogStartRequestV1Record.java | 2 +- ...anceCrossTierLogStartResponseV1Record.java | 2 +- .../udt/records/BatchInfoV1Record.java | 2 +- .../udt/records/BatchMetadataV1Record.java | 2 +- .../records/CommitBatchRequestV1Record.java | 2 +- .../records/CommitBatchResponseV1Record.java | 2 +- .../records/DeleteRecordsRequestV1Record.java | 2 +- .../DeleteRecordsResponseV1Record.java | 2 +- .../EnforceRetentionRequestV1Record.java | 2 +- .../EnforceRetentionResponseV1Record.java | 2 +- .../records/FindBatchesRequestV1Record.java | 2 +- .../records/FindBatchesResponseV1Record.java | 2 +- .../InitDisklessLogProducerStateV1Record.java | 2 +- .../InitDisklessLogRequestV1Record.java | 2 +- .../InitDisklessLogResponseV1Record.java | 2 +- .../records/ListOffsetsRequestV1Record.java | 2 +- .../records/ListOffsetsResponseV1Record.java | 2 +- ...lowHighestTieredOffsetRequestV1Record.java | 2 +- ...owHighestTieredOffsetResponseV1Record.java | 2 +- .../RepairDisklessLogRequestV1Record.java | 2 +- .../RepairDisklessLogResponseV1Record.java | 2 +- ...25__Commit_file_local_log_accumulation.sql | 294 ++++++++++++++++++ 119 files changed, 415 insertions(+), 121 deletions(-) create mode 100644 storage/inkless/src/main/resources/db/migration/V25__Commit_file_local_log_accumulation.sql diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/DefaultSchema.java b/storage/inkless/src/main/jooq/org/jooq/generated/DefaultSchema.java index f5ee779a1b..95c24d8984 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/DefaultSchema.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/DefaultSchema.java @@ -86,7 +86,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/Domains.java b/storage/inkless/src/main/jooq/org/jooq/generated/Domains.java index de42488464..c846e2f082 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/Domains.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/Domains.java @@ -23,7 +23,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/Indexes.java b/storage/inkless/src/main/jooq/org/jooq/generated/Indexes.java index c1625ed328..fbcd375be9 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/Indexes.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/Indexes.java @@ -21,7 +21,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/Keys.java b/storage/inkless/src/main/jooq/org/jooq/generated/Keys.java index ea9ab454c3..6b57664fb6 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/Keys.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/Keys.java @@ -29,7 +29,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/Routines.java b/storage/inkless/src/main/jooq/org/jooq/generated/Routines.java index a5f3348d36..e7531cd47e 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/Routines.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/Routines.java @@ -62,7 +62,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/Tables.java b/storage/inkless/src/main/jooq/org/jooq/generated/Tables.java index f2a391af41..e8fa0039ca 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/Tables.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/Tables.java @@ -58,7 +58,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/UDTs.java b/storage/inkless/src/main/jooq/org/jooq/generated/UDTs.java index 07d030f91b..0323b5f713 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/UDTs.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/UDTs.java @@ -36,7 +36,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/enums/AdvanceCrossTierLogStartResponseErrorV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/enums/AdvanceCrossTierLogStartResponseErrorV1.java index f63bfd94c6..cf3a342890 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/enums/AdvanceCrossTierLogStartResponseErrorV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/enums/AdvanceCrossTierLogStartResponseErrorV1.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/enums/CommitBatchResponseErrorV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/enums/CommitBatchResponseErrorV1.java index 0d29a44490..aeef933c00 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/enums/CommitBatchResponseErrorV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/enums/CommitBatchResponseErrorV1.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/enums/DeleteRecordsResponseErrorV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/enums/DeleteRecordsResponseErrorV1.java index d96ab2c045..a397ab10d5 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/enums/DeleteRecordsResponseErrorV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/enums/DeleteRecordsResponseErrorV1.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/enums/EnforceRetentionResponseErrorV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/enums/EnforceRetentionResponseErrorV1.java index 755d2c7ff5..e4dd09c48b 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/enums/EnforceRetentionResponseErrorV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/enums/EnforceRetentionResponseErrorV1.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/enums/FileReasonT.java b/storage/inkless/src/main/jooq/org/jooq/generated/enums/FileReasonT.java index d5971bc6ab..761c4d334e 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/enums/FileReasonT.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/enums/FileReasonT.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/enums/FileStateT.java b/storage/inkless/src/main/jooq/org/jooq/generated/enums/FileStateT.java index 62315d1467..b595792bff 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/enums/FileStateT.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/enums/FileStateT.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/enums/FindBatchesResponseErrorV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/enums/FindBatchesResponseErrorV1.java index 53383932aa..e0a23b8651 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/enums/FindBatchesResponseErrorV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/enums/FindBatchesResponseErrorV1.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/enums/InitDisklessLogErrorV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/enums/InitDisklessLogErrorV1.java index f6dc97efa2..6cb8feefa0 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/enums/InitDisklessLogErrorV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/enums/InitDisklessLogErrorV1.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/enums/ListOffsetsResponseErrorV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/enums/ListOffsetsResponseErrorV1.java index dba4fbe109..bf8519970a 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/enums/ListOffsetsResponseErrorV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/enums/ListOffsetsResponseErrorV1.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/enums/PruneBatchesBelowHighestTieredOffsetErrorV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/enums/PruneBatchesBelowHighestTieredOffsetErrorV1.java index 5ae12829d5..24da52a7f7 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/enums/PruneBatchesBelowHighestTieredOffsetErrorV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/enums/PruneBatchesBelowHighestTieredOffsetErrorV1.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/routines/BatchTimestamp.java b/storage/inkless/src/main/jooq/org/jooq/generated/routines/BatchTimestamp.java index e1b0831879..1ad4f535b9 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/routines/BatchTimestamp.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/routines/BatchTimestamp.java @@ -21,7 +21,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/routines/DeleteBatchV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/routines/DeleteBatchV1.java index b7837525a1..541b2a5dcf 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/routines/DeleteBatchV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/routines/DeleteBatchV1.java @@ -24,7 +24,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/routines/DeleteFilesV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/routines/DeleteFilesV1.java index 224330212e..199e3d5838 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/routines/DeleteFilesV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/routines/DeleteFilesV1.java @@ -20,7 +20,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/routines/DeleteTopicV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/routines/DeleteTopicV1.java index 4d74346cbf..6be48b452a 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/routines/DeleteTopicV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/routines/DeleteTopicV1.java @@ -25,7 +25,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/routines/FlushCommitRunV2.java b/storage/inkless/src/main/jooq/org/jooq/generated/routines/FlushCommitRunV2.java index 3fca511668..52cedceb43 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/routines/FlushCommitRunV2.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/routines/FlushCommitRunV2.java @@ -23,7 +23,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/routines/MarkFileToDeleteV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/routines/MarkFileToDeleteV1.java index 6002b53259..2640fe5106 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/routines/MarkFileToDeleteV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/routines/MarkFileToDeleteV1.java @@ -24,7 +24,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/AdvanceCrossTierLogStartV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/AdvanceCrossTierLogStartV1.java index 69119c1b7b..6d36f99b47 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/AdvanceCrossTierLogStartV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/AdvanceCrossTierLogStartV1.java @@ -29,7 +29,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/Batches.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/Batches.java index f78502c444..d1bb65e3da 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/Batches.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/Batches.java @@ -53,7 +53,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) @@ -175,7 +175,7 @@ public Batches(Table path, ForeignKey ch value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/CommitFileV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/CommitFileV1.java index 117e167a17..efaec3ede1 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/CommitFileV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/CommitFileV1.java @@ -35,7 +35,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/CommitFileV2.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/CommitFileV2.java index 07523d98e4..fd41de8ec9 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/CommitFileV2.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/CommitFileV2.java @@ -35,7 +35,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/DeleteRecordsV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/DeleteRecordsV1.java index 842f1fe677..1bad144780 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/DeleteRecordsV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/DeleteRecordsV1.java @@ -34,7 +34,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/EnforceRetentionV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/EnforceRetentionV1.java index d4eb097554..db2d0b268c 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/EnforceRetentionV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/EnforceRetentionV1.java @@ -34,7 +34,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/EnforceRetentionV2.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/EnforceRetentionV2.java index c8a076dfca..78827100c1 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/EnforceRetentionV2.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/EnforceRetentionV2.java @@ -34,7 +34,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/Files.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/Files.java index f1a846a114..94d8f7239a 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/Files.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/Files.java @@ -54,7 +54,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) @@ -161,7 +161,7 @@ public Files(Table path, ForeignKey childP value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/FindBatchesV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/FindBatchesV1.java index 24f4390f66..0671844356 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/FindBatchesV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/FindBatchesV1.java @@ -30,7 +30,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/FindBatchesV2.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/FindBatchesV2.java index d8640d63b7..ef31b135b7 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/FindBatchesV2.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/FindBatchesV2.java @@ -30,7 +30,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/InitDisklessLogV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/InitDisklessLogV1.java index 779df6ffee..aef87bff5a 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/InitDisklessLogV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/InitDisklessLogV1.java @@ -31,7 +31,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/ListOffsetsV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/ListOffsetsV1.java index 2f48ef84a7..a0355f99bf 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/ListOffsetsV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/ListOffsetsV1.java @@ -29,7 +29,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/Logs.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/Logs.java index ed11ed60ea..4efb6132e6 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/Logs.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/Logs.java @@ -45,7 +45,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) @@ -152,7 +152,7 @@ public Logs(Table path, ForeignKey childPat value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/ProducerState.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/ProducerState.java index 45c154ac57..cc12260555 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/ProducerState.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/ProducerState.java @@ -41,7 +41,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/PruneBatchesBelowHighestTieredOffsetV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/PruneBatchesBelowHighestTieredOffsetV1.java index f01f0a6eea..2f4f9f302f 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/PruneBatchesBelowHighestTieredOffsetV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/PruneBatchesBelowHighestTieredOffsetV1.java @@ -34,7 +34,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/RepairDisklessLogV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/RepairDisklessLogV1.java index d0c811c678..6748cab0fe 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/RepairDisklessLogV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/RepairDisklessLogV1.java @@ -29,7 +29,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/AdvanceCrossTierLogStartV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/AdvanceCrossTierLogStartV1Record.java index 8a95a8a52e..cf75afdad7 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/AdvanceCrossTierLogStartV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/AdvanceCrossTierLogStartV1Record.java @@ -17,7 +17,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/BatchesRecord.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/BatchesRecord.java index c125917ae3..b1c38136a3 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/BatchesRecord.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/BatchesRecord.java @@ -20,7 +20,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/CommitFileV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/CommitFileV1Record.java index 7f3b2eec14..397debaad0 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/CommitFileV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/CommitFileV1Record.java @@ -17,7 +17,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/CommitFileV2Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/CommitFileV2Record.java index 7d4c668da6..30fada5f31 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/CommitFileV2Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/CommitFileV2Record.java @@ -17,7 +17,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/DeleteRecordsV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/DeleteRecordsV1Record.java index 83f2a8ab1f..bc1f9b9a82 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/DeleteRecordsV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/DeleteRecordsV1Record.java @@ -17,7 +17,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/EnforceRetentionV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/EnforceRetentionV1Record.java index 1f9959dad8..a545d9250e 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/EnforceRetentionV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/EnforceRetentionV1Record.java @@ -17,7 +17,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/EnforceRetentionV2Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/EnforceRetentionV2Record.java index d855ef5726..ecdd3b478e 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/EnforceRetentionV2Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/EnforceRetentionV2Record.java @@ -17,7 +17,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/FilesRecord.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/FilesRecord.java index 6fc6e684bf..4038bf4c08 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/FilesRecord.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/FilesRecord.java @@ -23,7 +23,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/FindBatchesV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/FindBatchesV1Record.java index 8037e74508..a6b36c7959 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/FindBatchesV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/FindBatchesV1Record.java @@ -17,7 +17,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/FindBatchesV2Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/FindBatchesV2Record.java index cb8f4e2a30..3170ed80ab 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/FindBatchesV2Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/FindBatchesV2Record.java @@ -17,7 +17,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/InitDisklessLogV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/InitDisklessLogV1Record.java index 0a5bd89624..14141140b8 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/InitDisklessLogV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/InitDisklessLogV1Record.java @@ -17,7 +17,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/ListOffsetsV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/ListOffsetsV1Record.java index 270cae4d18..f540e33aeb 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/ListOffsetsV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/ListOffsetsV1Record.java @@ -17,7 +17,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/LogsRecord.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/LogsRecord.java index f70eefa773..bd811ec039 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/LogsRecord.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/LogsRecord.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/ProducerStateRecord.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/ProducerStateRecord.java index 37375438cd..80af95a57b 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/ProducerStateRecord.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/ProducerStateRecord.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/PruneBatchesBelowHighestTieredOffsetV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/PruneBatchesBelowHighestTieredOffsetV1Record.java index 76aa9f510d..2747b27063 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/PruneBatchesBelowHighestTieredOffsetV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/PruneBatchesBelowHighestTieredOffsetV1Record.java @@ -17,7 +17,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/RepairDisklessLogV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/RepairDisklessLogV1Record.java index 99e61ec756..2249483a53 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/RepairDisklessLogV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/tables/records/RepairDisklessLogV1Record.java @@ -17,7 +17,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/AdvanceCrossTierLogStartRequestV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/AdvanceCrossTierLogStartRequestV1.java index 47ddd744e6..a5a0a919a2 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/AdvanceCrossTierLogStartRequestV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/AdvanceCrossTierLogStartRequestV1.java @@ -27,7 +27,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/AdvanceCrossTierLogStartResponseV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/AdvanceCrossTierLogStartResponseV1.java index bda31ec88d..62f9d14c69 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/AdvanceCrossTierLogStartResponseV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/AdvanceCrossTierLogStartResponseV1.java @@ -28,7 +28,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/BatchInfoV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/BatchInfoV1.java index 43d63b7ff0..ed70fcfb6d 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/BatchInfoV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/BatchInfoV1.java @@ -25,7 +25,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/BatchMetadataV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/BatchMetadataV1.java index ee84bf3bd4..f1cd7e5032 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/BatchMetadataV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/BatchMetadataV1.java @@ -29,7 +29,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/CommitBatchRequestV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/CommitBatchRequestV1.java index 9382068b3f..6e35303732 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/CommitBatchRequestV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/CommitBatchRequestV1.java @@ -29,7 +29,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/CommitBatchResponseV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/CommitBatchResponseV1.java index 7180d56d8a..de0e77aea1 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/CommitBatchResponseV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/CommitBatchResponseV1.java @@ -28,7 +28,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/DeleteRecordsRequestV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/DeleteRecordsRequestV1.java index 69ecf75d10..6bc691af6d 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/DeleteRecordsRequestV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/DeleteRecordsRequestV1.java @@ -27,7 +27,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/DeleteRecordsResponseV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/DeleteRecordsResponseV1.java index 38a326090b..dfaa4e436d 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/DeleteRecordsResponseV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/DeleteRecordsResponseV1.java @@ -28,7 +28,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/EnforceRetentionRequestV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/EnforceRetentionRequestV1.java index eeb0a414a5..ed88d5506f 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/EnforceRetentionRequestV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/EnforceRetentionRequestV1.java @@ -27,7 +27,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/EnforceRetentionResponseV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/EnforceRetentionResponseV1.java index 435d195256..07d61f1cc1 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/EnforceRetentionResponseV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/EnforceRetentionResponseV1.java @@ -28,7 +28,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/FindBatchesRequestV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/FindBatchesRequestV1.java index 658d01e7ba..a5270ad484 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/FindBatchesRequestV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/FindBatchesRequestV1.java @@ -27,7 +27,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/FindBatchesResponseV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/FindBatchesResponseV1.java index 3d11054a9d..7ad2891cd9 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/FindBatchesResponseV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/FindBatchesResponseV1.java @@ -29,7 +29,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/InitDisklessLogProducerStateV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/InitDisklessLogProducerStateV1.java index c215e7e45d..11b8471431 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/InitDisklessLogProducerStateV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/InitDisklessLogProducerStateV1.java @@ -27,7 +27,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/InitDisklessLogRequestV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/InitDisklessLogRequestV1.java index d180dfc61c..7aec8b8689 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/InitDisklessLogRequestV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/InitDisklessLogRequestV1.java @@ -27,7 +27,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/InitDisklessLogResponseV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/InitDisklessLogResponseV1.java index 6409fb0ca3..9a8fdbc8b3 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/InitDisklessLogResponseV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/InitDisklessLogResponseV1.java @@ -28,7 +28,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/ListOffsetsRequestV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/ListOffsetsRequestV1.java index f023cab20f..12ef84d434 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/ListOffsetsRequestV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/ListOffsetsRequestV1.java @@ -27,7 +27,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/ListOffsetsResponseV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/ListOffsetsResponseV1.java index aa8755814a..d24631d018 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/ListOffsetsResponseV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/ListOffsetsResponseV1.java @@ -28,7 +28,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/PruneBatchesBelowHighestTieredOffsetRequestV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/PruneBatchesBelowHighestTieredOffsetRequestV1.java index 31f05bc8aa..a26b6c2f9e 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/PruneBatchesBelowHighestTieredOffsetRequestV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/PruneBatchesBelowHighestTieredOffsetRequestV1.java @@ -27,7 +27,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/PruneBatchesBelowHighestTieredOffsetResponseV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/PruneBatchesBelowHighestTieredOffsetResponseV1.java index 5480713c1b..7f29989f50 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/PruneBatchesBelowHighestTieredOffsetResponseV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/PruneBatchesBelowHighestTieredOffsetResponseV1.java @@ -28,7 +28,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/RepairDisklessLogRequestV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/RepairDisklessLogRequestV1.java index 837b378a08..48dbbc1792 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/RepairDisklessLogRequestV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/RepairDisklessLogRequestV1.java @@ -27,7 +27,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/RepairDisklessLogResponseV1.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/RepairDisklessLogResponseV1.java index 0b47284820..00af8a4211 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/RepairDisklessLogResponseV1.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/RepairDisklessLogResponseV1.java @@ -27,7 +27,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/AdvanceCrossTierLogStartRequestV1Path.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/AdvanceCrossTierLogStartRequestV1Path.java index 902b8ca3f3..e7bd878ce7 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/AdvanceCrossTierLogStartRequestV1Path.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/AdvanceCrossTierLogStartRequestV1Path.java @@ -32,7 +32,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/AdvanceCrossTierLogStartResponseV1Path.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/AdvanceCrossTierLogStartResponseV1Path.java index d43cbab1ab..846a484b71 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/AdvanceCrossTierLogStartResponseV1Path.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/AdvanceCrossTierLogStartResponseV1Path.java @@ -33,7 +33,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/BatchInfoV1Path.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/BatchInfoV1Path.java index 7beb400178..0210f3c56f 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/BatchInfoV1Path.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/BatchInfoV1Path.java @@ -31,7 +31,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/BatchMetadataV1Path.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/BatchMetadataV1Path.java index c7c7fb0fea..54c44b5f29 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/BatchMetadataV1Path.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/BatchMetadataV1Path.java @@ -34,7 +34,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/CommitBatchRequestV1Path.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/CommitBatchRequestV1Path.java index 15fb1f0366..2fdb01a49f 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/CommitBatchRequestV1Path.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/CommitBatchRequestV1Path.java @@ -34,7 +34,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/CommitBatchResponseV1Path.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/CommitBatchResponseV1Path.java index d4ce07e9a0..67966300e5 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/CommitBatchResponseV1Path.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/CommitBatchResponseV1Path.java @@ -33,7 +33,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/DeleteRecordsRequestV1Path.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/DeleteRecordsRequestV1Path.java index 3c78dbbfd3..e867f41719 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/DeleteRecordsRequestV1Path.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/DeleteRecordsRequestV1Path.java @@ -32,7 +32,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/DeleteRecordsResponseV1Path.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/DeleteRecordsResponseV1Path.java index 3f3f38112e..20e578dbf1 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/DeleteRecordsResponseV1Path.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/DeleteRecordsResponseV1Path.java @@ -33,7 +33,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/EnforceRetentionRequestV1Path.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/EnforceRetentionRequestV1Path.java index dfbedf00d0..26556d2897 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/EnforceRetentionRequestV1Path.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/EnforceRetentionRequestV1Path.java @@ -32,7 +32,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/EnforceRetentionResponseV1Path.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/EnforceRetentionResponseV1Path.java index 612270235f..dae1261bb0 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/EnforceRetentionResponseV1Path.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/EnforceRetentionResponseV1Path.java @@ -33,7 +33,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/FindBatchesRequestV1Path.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/FindBatchesRequestV1Path.java index acbfe13208..f66f5ea7bc 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/FindBatchesRequestV1Path.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/FindBatchesRequestV1Path.java @@ -32,7 +32,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/FindBatchesResponseV1Path.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/FindBatchesResponseV1Path.java index e775b97ac1..73e6b52710 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/FindBatchesResponseV1Path.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/FindBatchesResponseV1Path.java @@ -35,7 +35,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/InitDisklessLogProducerStateV1Path.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/InitDisklessLogProducerStateV1Path.java index 61db6f392d..48b77f9723 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/InitDisklessLogProducerStateV1Path.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/InitDisklessLogProducerStateV1Path.java @@ -32,7 +32,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/InitDisklessLogRequestV1Path.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/InitDisklessLogRequestV1Path.java index 9577ab8c07..caff2d3805 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/InitDisklessLogRequestV1Path.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/InitDisklessLogRequestV1Path.java @@ -32,7 +32,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/InitDisklessLogResponseV1Path.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/InitDisklessLogResponseV1Path.java index 6fc3edb63b..006774c275 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/InitDisklessLogResponseV1Path.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/InitDisklessLogResponseV1Path.java @@ -33,7 +33,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/ListOffsetsRequestV1Path.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/ListOffsetsRequestV1Path.java index 6ecad3129a..d55341c000 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/ListOffsetsRequestV1Path.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/ListOffsetsRequestV1Path.java @@ -32,7 +32,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/ListOffsetsResponseV1Path.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/ListOffsetsResponseV1Path.java index bca001f490..5d6df90326 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/ListOffsetsResponseV1Path.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/ListOffsetsResponseV1Path.java @@ -33,7 +33,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/PruneBatchesBelowHighestTieredOffsetRequestV1Path.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/PruneBatchesBelowHighestTieredOffsetRequestV1Path.java index 43b6f78767..d835ce0427 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/PruneBatchesBelowHighestTieredOffsetRequestV1Path.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/PruneBatchesBelowHighestTieredOffsetRequestV1Path.java @@ -32,7 +32,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/PruneBatchesBelowHighestTieredOffsetResponseV1Path.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/PruneBatchesBelowHighestTieredOffsetResponseV1Path.java index 5c6271e24d..3325f68089 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/PruneBatchesBelowHighestTieredOffsetResponseV1Path.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/PruneBatchesBelowHighestTieredOffsetResponseV1Path.java @@ -33,7 +33,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/RepairDisklessLogRequestV1Path.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/RepairDisklessLogRequestV1Path.java index 48ffbddbc4..de504f0561 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/RepairDisklessLogRequestV1Path.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/RepairDisklessLogRequestV1Path.java @@ -32,7 +32,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/RepairDisklessLogResponseV1Path.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/RepairDisklessLogResponseV1Path.java index a01d6f46a4..1468327d26 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/RepairDisklessLogResponseV1Path.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/paths/RepairDisklessLogResponseV1Path.java @@ -32,7 +32,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/AdvanceCrossTierLogStartRequestV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/AdvanceCrossTierLogStartRequestV1Record.java index 8bafb40917..73acba04d7 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/AdvanceCrossTierLogStartRequestV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/AdvanceCrossTierLogStartRequestV1Record.java @@ -18,7 +18,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/AdvanceCrossTierLogStartResponseV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/AdvanceCrossTierLogStartResponseV1Record.java index 713a5208c8..be1dd93f0c 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/AdvanceCrossTierLogStartResponseV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/AdvanceCrossTierLogStartResponseV1Record.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/BatchInfoV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/BatchInfoV1Record.java index b72f2dddb9..54ea597a3a 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/BatchInfoV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/BatchInfoV1Record.java @@ -17,7 +17,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/BatchMetadataV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/BatchMetadataV1Record.java index 2d1d7e9fde..af3a767956 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/BatchMetadataV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/BatchMetadataV1Record.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/CommitBatchRequestV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/CommitBatchRequestV1Record.java index 6e654341a8..10591555e5 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/CommitBatchRequestV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/CommitBatchRequestV1Record.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/CommitBatchResponseV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/CommitBatchResponseV1Record.java index d171e3ca4a..6675ec5f29 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/CommitBatchResponseV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/CommitBatchResponseV1Record.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/DeleteRecordsRequestV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/DeleteRecordsRequestV1Record.java index 2fa50723e7..3a6d6c12f7 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/DeleteRecordsRequestV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/DeleteRecordsRequestV1Record.java @@ -18,7 +18,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/DeleteRecordsResponseV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/DeleteRecordsResponseV1Record.java index 04c51976b1..e5d958b20d 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/DeleteRecordsResponseV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/DeleteRecordsResponseV1Record.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/EnforceRetentionRequestV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/EnforceRetentionRequestV1Record.java index 29bbaffe47..5b82be898c 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/EnforceRetentionRequestV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/EnforceRetentionRequestV1Record.java @@ -18,7 +18,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/EnforceRetentionResponseV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/EnforceRetentionResponseV1Record.java index de0a721fb1..d08e219281 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/EnforceRetentionResponseV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/EnforceRetentionResponseV1Record.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/FindBatchesRequestV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/FindBatchesRequestV1Record.java index d1e1c4b3ba..96f3b30ef9 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/FindBatchesRequestV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/FindBatchesRequestV1Record.java @@ -18,7 +18,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/FindBatchesResponseV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/FindBatchesResponseV1Record.java index 987d49bb2e..65c209cf5a 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/FindBatchesResponseV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/FindBatchesResponseV1Record.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/InitDisklessLogProducerStateV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/InitDisklessLogProducerStateV1Record.java index ec9d651899..107c2e952b 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/InitDisklessLogProducerStateV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/InitDisklessLogProducerStateV1Record.java @@ -18,7 +18,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/InitDisklessLogRequestV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/InitDisklessLogRequestV1Record.java index a21887fc54..2d1a9e3449 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/InitDisklessLogRequestV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/InitDisklessLogRequestV1Record.java @@ -18,7 +18,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/InitDisklessLogResponseV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/InitDisklessLogResponseV1Record.java index 35d8c03cd3..f4e77ef133 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/InitDisklessLogResponseV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/InitDisklessLogResponseV1Record.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/ListOffsetsRequestV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/ListOffsetsRequestV1Record.java index 3b038fe3ab..adf54e1fdb 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/ListOffsetsRequestV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/ListOffsetsRequestV1Record.java @@ -18,7 +18,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/ListOffsetsResponseV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/ListOffsetsResponseV1Record.java index 237983af48..8056c459c0 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/ListOffsetsResponseV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/ListOffsetsResponseV1Record.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/PruneBatchesBelowHighestTieredOffsetRequestV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/PruneBatchesBelowHighestTieredOffsetRequestV1Record.java index 36b92444af..f32e12b1f1 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/PruneBatchesBelowHighestTieredOffsetRequestV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/PruneBatchesBelowHighestTieredOffsetRequestV1Record.java @@ -18,7 +18,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/PruneBatchesBelowHighestTieredOffsetResponseV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/PruneBatchesBelowHighestTieredOffsetResponseV1Record.java index 18f1a672d2..a5e9983055 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/PruneBatchesBelowHighestTieredOffsetResponseV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/PruneBatchesBelowHighestTieredOffsetResponseV1Record.java @@ -19,7 +19,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/RepairDisklessLogRequestV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/RepairDisklessLogRequestV1Record.java index 9f3600309d..ac96d8b4f4 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/RepairDisklessLogRequestV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/RepairDisklessLogRequestV1Record.java @@ -18,7 +18,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/RepairDisklessLogResponseV1Record.java b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/RepairDisklessLogResponseV1Record.java index f5303ae6de..5caa03a2b5 100644 --- a/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/RepairDisklessLogResponseV1Record.java +++ b/storage/inkless/src/main/jooq/org/jooq/generated/udt/records/RepairDisklessLogResponseV1Record.java @@ -18,7 +18,7 @@ value = { "https://www.jooq.org", "jOOQ version:3.19.17", - "schema version:24" + "schema version:25" }, comments = "This class is generated by jOOQ" ) diff --git a/storage/inkless/src/main/resources/db/migration/V25__Commit_file_local_log_accumulation.sql b/storage/inkless/src/main/resources/db/migration/V25__Commit_file_local_log_accumulation.sql new file mode 100644 index 0000000000..03b12be9be --- /dev/null +++ b/storage/inkless/src/main/resources/db/migration/V25__Commit_file_local_log_accumulation.sql @@ -0,0 +1,294 @@ +-- Copyright (c) 2026 Aiven, Helsinki, Finland. https://aiven.io/ + +-- commit_file_v2: identical semantics to the V20 definition. The only change is where the +-- per-request high-watermark/byte-size accumulation happens. +-- +-- V20 (and every version back to V1) ran one `UPDATE logs_tmp ... RETURNING high_watermark` per +-- accepted request, purely to keep the `l_log` variable in sync with the staging table. `logs_tmp` is +-- created by CTAS and therefore has no index, so each of those updates seqscans one row per distinct +-- partition in the file: the staging cost of a commit was O(requests x partitions). +-- +-- Measured on CommitFileFanOutCostBenchmarkTest (local container, 1600 batches per commit, constant +-- volume, only fan-out varying): commit time rose from ~104 ms at 16 partitions to ~208 ms at 1600, +-- tracking `requests x partitions` at ~40-49 ns per tuple visit. At a production shape of 630 +-- partitions x 1600 batches that term alone is ~45 ms per commit, on top of the per-statement +-- execution overhead of the 1600 updates themselves. +-- +-- Here the accumulation happens in `l_log` and is written back to `logs_tmp` once per partition run +-- (at each partition change, and once after the loop), so the staging cost becomes O(partitions). +-- +-- Why this is equivalent: +-- * `l_log` was already the value the loop reads: `l_assigned_offset := l_log.high_watermark` and +-- the run bookkeeping both consume the variable, not the table. The old `RETURNING ... INTO` +-- existed only to refresh it. +-- * The write-back sets absolute values, not deltas, so re-reading a partition after a flush yields +-- the accumulated state. Correctness therefore does not depend on `arg_requests` being grouped by +-- partition (BatchBuffer.close() groups them, which keeps the flush count at one per partition, +-- but ungrouped input would only cost extra flushes). +-- * Every rejecting branch still CONTINUEs before the accumulation, exactly as it did before the +-- UPDATE, so a rejected request leaves the watermark untouched. +-- * A partition missing from `logs` leaves `l_log` all-NULL (SELECT INTO with no row); the flush is +-- guarded on `l_log.topic_id IS NOT NULL` so that state is never written back. +-- +-- WAL is unchanged: `logs_tmp` is a temporary relation and is not WAL-logged, and the transfer into +-- the real `logs` table is still a single UPDATE per partition. +-- +-- commit_file_v1 is deliberately left as it was: it is deprecated (retained only for mid-rolling-upgrade +-- brokers and as the coalescing benchmark's baseline), so it keeps the old accumulation. + +CREATE OR REPLACE FUNCTION commit_file_v2( + arg_object_key object_key_t, + arg_format format_t, + arg_uploader_broker_id broker_id_t, + arg_file_size byte_size_t, + arg_now TIMESTAMP WITH TIME ZONE, + arg_requests commit_batch_request_v1[] +) +RETURNS SETOF commit_batch_response_v1 LANGUAGE plpgsql VOLATILE AS $$ +DECLARE + l_new_file_id BIGINT; + l_request RECORD; + l_log logs%ROWTYPE; + l_duplicate RECORD; + l_assigned_offset offset_nullable_t; + l_new_high_watermark offset_nullable_t; + l_last_sequence_in_producer_epoch BIGINT; + l_log_append_timestamp BIGINT; + + -- Open-run accumulator. A run is a maximal sequence of accepted, byte-contiguous + -- requests sharing (topic_id, partition, magic, timestamp_type). + l_run_open BOOLEAN := FALSE; + l_run_topic_id UUID; + l_run_partition INT; + l_run_magic SMALLINT; + l_run_timestamp_type SMALLINT; + l_run_base_offset BIGINT; + l_run_last_offset BIGINT; + l_run_byte_offset BIGINT; + l_run_byte_size BIGINT; + l_run_max_timestamp BIGINT; +BEGIN + l_log_append_timestamp := (EXTRACT(EPOCH FROM arg_now AT TIME ZONE 'UTC') * 1000)::BIGINT; + + INSERT INTO files (object_key, format, reason, state, uploader_broker_id, committed_at, size) + VALUES (arg_object_key, arg_format, 'produce', 'uploaded', arg_uploader_broker_id, arg_now, arg_file_size) + RETURNING file_id + INTO l_new_file_id; + + -- We use this temporary table to perform the write operations in loop on it first + -- and only then dump the result on the real table. This reduces the WAL pressure and latency of the function. + DROP TABLE IF EXISTS logs_tmp; + CREATE TEMPORARY TABLE logs_tmp + ON COMMIT DROP + AS + -- Extract the relevant logs into the temporary table and simultaneously lock them. + -- topic_name and log_start_offset aren't technically needed, but having them allows declaring `l_log logs%ROWTYPE`. + SELECT * + FROM logs + WHERE (topic_id, partition) IN (SELECT DISTINCT topic_id, partition FROM unnest(arg_requests)) + ORDER BY topic_id, partition -- ordering is important to prevent deadlocks + FOR UPDATE; + + FOR l_request IN + SELECT * + FROM unnest(arg_requests) + LOOP + -- A small optimization: select the log into a variable only if it's a different topic-partition. + -- Batches are sorted by topic-partitions, so this makes sense. + IF l_log.topic_id IS DISTINCT FROM l_request.topic_id + OR l_log.partition IS DISTINCT FROM l_request.partition THEN + + -- Publish what was accumulated for the partition we are leaving before losing the variable. + IF l_log.topic_id IS NOT NULL THEN + UPDATE logs_tmp + SET high_watermark = l_log.high_watermark, + byte_size = l_log.byte_size + WHERE topic_id = l_log.topic_id + AND partition = l_log.partition; + END IF; + + SELECT * + FROM logs_tmp + WHERE topic_id = l_request.topic_id + AND partition = l_request.partition + INTO l_log; + + IF NOT FOUND THEN + RETURN NEXT (l_request.topic_id, l_request.partition, NULL, NULL, -1, 'nonexistent_log')::commit_batch_response_v1; + CONTINUE; + END IF; + END IF; + + l_assigned_offset = l_log.high_watermark; + + -- Validate that the new request base sequence is not larger than the previous batch last sequence + IF l_request.producer_id > -1 AND l_request.producer_epoch > -1 + THEN + -- If there are previous batches for the producer, check that the producer epoch is not smaller than the last batch + IF EXISTS ( + SELECT 1 + FROM producer_state + WHERE topic_id = l_request.topic_id + AND partition = l_request.partition + AND producer_id = l_request.producer_id + AND producer_epoch > l_request.producer_epoch + ) THEN + RETURN NEXT (l_request.topic_id, l_request.partition, NULL, NULL, -1, 'invalid_producer_epoch')::commit_batch_response_v1; + CONTINUE; + END IF; + + SELECT MAX(last_sequence) + INTO l_last_sequence_in_producer_epoch + FROM producer_state + WHERE topic_id = l_request.topic_id + AND partition = l_request.partition + AND producer_id = l_request.producer_id + AND producer_epoch = l_request.producer_epoch; + + -- If there are previous batches for the producer + IF l_last_sequence_in_producer_epoch IS NULL THEN + -- If there are no previous batches for the producer, the base sequence must be 0 + IF l_request.base_sequence <> 0 + THEN + RETURN NEXT (l_request.topic_id, l_request.partition, NULL, NULL, -1, 'sequence_out_of_order')::commit_batch_response_v1; + CONTINUE; + END IF; + ELSE + -- Check for duplicates + SELECT * + FROM producer_state + WHERE topic_id = l_request.topic_id + AND partition = l_request.partition + AND producer_id = l_request.producer_id + AND producer_epoch = l_request.producer_epoch + AND base_sequence = l_request.base_sequence + AND last_sequence = l_request.last_sequence + INTO l_duplicate; + IF FOUND THEN + RETURN NEXT (l_request.topic_id, l_request.partition, l_log.log_start_offset, l_duplicate.assigned_offset, l_duplicate.batch_max_timestamp, 'duplicate_batch')::commit_batch_response_v1; + CONTINUE; + END IF; + + -- Check that the sequence is not out of order. + -- A sequence is out of order if the base sequence is not a continuation of the last sequence + -- or, in case of wraparound, the base sequence must be 0 and the last sequence must be 2147483647 (Integer.MAX_VALUE). + IF (l_request.base_sequence - 1) <> l_last_sequence_in_producer_epoch OR (l_last_sequence_in_producer_epoch = 2147483647 AND l_request.base_sequence <> 0) THEN + RETURN NEXT (l_request.topic_id, l_request.partition, NULL, NULL, -1, 'sequence_out_of_order')::commit_batch_response_v1; + CONTINUE; + END IF; + END IF; + + INSERT INTO producer_state ( + topic_id, partition, producer_id, + producer_epoch, base_sequence, last_sequence, assigned_offset, batch_max_timestamp + ) + VALUES ( + l_request.topic_id, l_request.partition, l_request.producer_id, + l_request.producer_epoch, l_request.base_sequence, l_request.last_sequence, l_assigned_offset, l_request.batch_max_timestamp + ); + -- Keep only the last 5 records. + -- 5 == org.apache.kafka.storage.internals.log.ProducerStateEntry.NUM_BATCHES_TO_RETAIN + DELETE FROM producer_state + WHERE topic_id = l_request.topic_id + AND partition = l_request.partition + AND producer_id = l_request.producer_id + AND row_id <= ( + SELECT row_id + FROM producer_state + WHERE topic_id = l_request.topic_id + AND partition = l_request.partition + AND producer_id = l_request.producer_id + ORDER BY row_id DESC + LIMIT 1 + OFFSET 5 + ); + END IF; + + -- Accumulate in the variable; the write-back happens once per partition run (see header). + l_new_high_watermark := l_log.high_watermark + (l_request.last_offset - l_request.base_offset + 1); + l_log.high_watermark := l_new_high_watermark; + l_log.byte_size := l_log.byte_size + l_request.byte_size; + + -- This request is accepted. Either extend the open run, or flush it and open a new one. + -- The byte-adjacency check (see header) guarantees no rejected batch intervened, so + -- offsets within the run are contiguous. + IF l_run_open + AND l_run_topic_id = l_request.topic_id + AND l_run_partition = l_request.partition + AND l_run_magic = l_request.magic + AND l_run_timestamp_type = l_request.timestamp_type + AND l_request.byte_offset = l_run_byte_offset + l_run_byte_size + THEN + l_run_last_offset := l_new_high_watermark - 1; + l_run_byte_size := l_run_byte_size + l_request.byte_size; + l_run_max_timestamp := GREATEST(l_run_max_timestamp, l_request.batch_max_timestamp); + ELSE + IF l_run_open THEN + PERFORM flush_commit_run_v2( + l_new_file_id, l_run_magic, l_run_topic_id, l_run_partition, + l_run_base_offset, l_run_last_offset, l_run_byte_offset, l_run_byte_size, + l_run_timestamp_type, l_log_append_timestamp, l_run_max_timestamp); + END IF; + l_run_open := TRUE; + l_run_topic_id := l_request.topic_id; + l_run_partition := l_request.partition; + l_run_magic := l_request.magic; + l_run_timestamp_type := l_request.timestamp_type; + l_run_base_offset := l_assigned_offset; + l_run_last_offset := l_new_high_watermark - 1; + l_run_byte_offset := l_request.byte_offset; + l_run_byte_size := l_request.byte_size; + l_run_max_timestamp := l_request.batch_max_timestamp; + END IF; + + RETURN NEXT (l_request.topic_id, l_request.partition, l_log.log_start_offset, l_assigned_offset, l_request.batch_max_timestamp, 'none')::commit_batch_response_v1; + END LOOP; + + -- Flush the final open run. + IF l_run_open THEN + PERFORM flush_commit_run_v2( + l_new_file_id, l_run_magic, l_run_topic_id, l_run_partition, + l_run_base_offset, l_run_last_offset, l_run_byte_offset, l_run_byte_size, + l_run_timestamp_type, l_log_append_timestamp, l_run_max_timestamp); + END IF; + + -- Publish the last partition's accumulation, which no partition change flushed. + IF l_log.topic_id IS NOT NULL THEN + UPDATE logs_tmp + SET high_watermark = l_log.high_watermark, + byte_size = l_log.byte_size + WHERE topic_id = l_log.topic_id + AND partition = l_log.partition; + END IF; + + -- Transfer from the temporary to real table. + UPDATE logs + SET high_watermark = logs_tmp.high_watermark, + byte_size = logs_tmp.byte_size + FROM logs_tmp + WHERE logs.topic_id = logs_tmp.topic_id + AND logs.partition = logs_tmp.partition; + + -- Populate earliest_batch_timestamp for partitions in this commit that don't have it yet. + -- IS NULL guards the hot path: appends never change the oldest batch, so a log that already + -- has a value is skipped and the subquery never runs. This handles empty->non-empty (the + -- just-committed batch is the oldest) and lazily backfills pre-existing NULL logs. A partition + -- whose batches were all rejected stays empty, so the subquery yields NULL (still "unknown"). + UPDATE logs l + SET earliest_batch_timestamp = ( + SELECT batch_timestamp(b.timestamp_type, b.batch_max_timestamp, b.log_append_timestamp) + FROM batches b + WHERE b.topic_id = l.topic_id + AND b.partition = l.partition + ORDER BY b.topic_id, b.partition, b.last_offset + LIMIT 1 + ) + WHERE (l.topic_id, l.partition) IN (SELECT DISTINCT topic_id, partition FROM unnest(arg_requests)) + AND l.earliest_batch_timestamp IS NULL; + + IF NOT EXISTS (SELECT 1 FROM batches WHERE file_id = l_new_file_id LIMIT 1) THEN + PERFORM mark_file_to_delete_v1(arg_now, l_new_file_id); + END IF; +END; +$$ +;