Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
24094a8
Implement resumable offline and online vector ownership migration
ajroetker Sep 15, 2026
fa821d0
Expose table storage migration jobs and antfly storage migrate
ajroetker Sep 15, 2026
e6a92dd
Measure migrated table full-text and mixed query workloads
ajroetker Sep 15, 2026
fce291d
Keep qualification startup and reclamation timers separate
ajroetker Sep 15, 2026
fd61071
Preserve rebuilding-index retries across compiled query boundaries
ajroetker Sep 15, 2026
829bb41
Include the offline migration process in peak memory accounting
ajroetker Sep 15, 2026
7a8717b
Generate SDK clients for table storage migration jobs
ajroetker Sep 15, 2026
f061e26
Durably advance migration pages without forcing tiny SSTables
ajroetker Sep 15, 2026
0197d4c
Verify crash-durable page receipts and compare reopened migration que…
ajroetker Sep 15, 2026
b5ec4ca
Reclaim superseded primary values before completing vector migration
ajroetker Sep 15, 2026
222d2c7
Avoid pathname allocation on native descriptor cache hits
ajroetker Sep 15, 2026
a494f01
Cache the bounded working set of offline migration verification
ajroetker Sep 15, 2026
f3f149f
test(storage): qualify migration reclamation and ANN preservation
ajroetker Sep 15, 2026
bedadbc
test(storage): wait for timed migration reclamation retries
ajroetker Sep 15, 2026
e26ab3a
docs(storage): record final million-vector migration qualification
ajroetker Sep 15, 2026
55cd225
fix(storage): recover rejected migration admission and durable copy c…
ajroetker Sep 15, 2026
c1b4216
fix migration command admission and early offline cancellation
ajroetker Sep 15, 2026
c10c51e
fix migration row budgeting and backups after cancellation
ajroetker Sep 16, 2026
180a67e
Merge remote-tracking branch 'origin/main' into codex/vector-store-mi…
ajroetker Sep 16, 2026
c17dba7
Merge remote-tracking branch 'origin/main' into codex/vector-store-mi…
ajroetker Sep 16, 2026
9da8209
fix(storage): certify ANN refresh before migration comparisons
ajroetker Sep 16, 2026
5f84999
fix(test): serialize metadata ownership Raft progress
ajroetker Sep 16, 2026
3f38836
fix(test): make columnar and managed visibility checks deterministic
ajroetker Sep 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2,261 changes: 1,586 additions & 675 deletions go/pkg/sdk/oapi/client.gen.go

Large diffs are not rendered by default.

190 changes: 190 additions & 0 deletions openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4719,6 +4719,196 @@ paths:
- BasicAuth: []
- ApiKeyAuth: []
- BearerAuth: []
/db/v1/tables/{tableName}/storage/migrations:
parameters:
- name: tableName
in: path
required: true
schema:
type: string
post:
operationId: createTableStorageMigration
summary: Create or resume a table storage migration job
description: >
Table-admin operation for local single-shard standalone tables. Target

vector_store changes primary_lsm source ownership without changing models,

dimensions, artifacts or logical indexes. Retry creation with the same

job_id, target and budgets. The job is advanced explicitly through its

job endpoint; the server does not schedule an unattended migration loop.

Offline migration uses antfly storage migrate against a stopped server.
tags:
- data_operations
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- job_id
- target
properties:
job_id:
type: string
pattern: ^[A-Za-z0-9_-]{1,128}$
target:
type: string
enum:
- vector_store
budget:
type: object
additionalProperties: false
properties:
batch_bytes:
type: integer
format: int64
minimum: 4096
maximum: 67108864
default: 4194304
batch_rows:
type: integer
minimum: 1
maximum: 65536
default: 1024
temporary_bytes:
type: integer
format: int64
default: 68719476736
disk_reserve_bytes:
type: integer
format: int64
default: 1073741824
responses:
'200':
description: Durable migration receipt, or admitted receipt before DB preparation
content:
application/json:
schema:
type: object
additionalProperties: true
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
'409':
description: Conflicting job, lifecycle operation or publication state
'503':
description: Retryable resource or recovery admission failure
'500':
$ref: '#/components/responses/InternalServerError'
security:
- BasicAuth: []
- ApiKeyAuth: []
- BearerAuth: []
/db/v1/tables/{tableName}/storage/migrations/{jobId}:
parameters:
- name: tableName
in: path
required: true
schema:
type: string
- name: jobId
in: path
required: true
schema:
type: string
pattern: ^[A-Za-z0-9_-]{1,128}$
get:
operationId: getTableStorageMigration
summary: Read a table storage migration receipt
description: >
Table-admin observation only. Does not admit, advance, or publish a job.

A phase of admitted means catalog admission is durable but DB preparation

has not begun; retry creation or send a job action to recover it. The

receipt is retained until a later migration replaces it; this endpoint

is not a permanent job history.
tags:
- data_operations
responses:
'200':
description: Durable migration receipt, or admitted receipt before DB preparation
content:
application/json:
schema:
type: object
additionalProperties: true
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
'409':
description: Conflicting job, lifecycle operation or publication state
'503':
description: Retryable resource or recovery admission failure
'500':
$ref: '#/components/responses/InternalServerError'
security:
- BasicAuth: []
- ApiKeyAuth: []
- BearerAuth: []
post:
operationId: advanceTableStorageMigration
summary: Advance, publish or cancel a table storage migration job
description: >
Uses the job's durable configuration and budgets. Each step commits

bounded progress. Publish is accepted only at ready; complete additionally

certifies reference-only primary artifacts and native ANN serving.

Cancellation is allowed only before publication. Repeating an action

after an ambiguous response resumes the durable job.
tags:
- data_operations
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- action
properties:
action:
type: string
enum:
- step
- publish
- cancel
responses:
'200':
description: Durable migration receipt, or admitted receipt before DB preparation
content:
application/json:
schema:
type: object
additionalProperties: true
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
'409':
description: Conflicting job, lifecycle operation or publication state
'503':
description: Retryable resource or recovery admission failure
'500':
$ref: '#/components/responses/InternalServerError'
security:
- BasicAuth: []
- ApiKeyAuth: []
- BearerAuth: []
/db/v1/tables/{tableName}/repair/run:
parameters:
- name: tableName
Expand Down
Loading
Loading