Skip to content

Commit 10b382f

Browse files
authored
API: prepare GC commits async (#9643)
1 parent 4855f88 commit 10b382f

39 files changed

+3220
-64
lines changed

api/swagger.yml

Lines changed: 103 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1559,6 +1559,28 @@ components:
15591559
- gc_commits_location
15601560
- gc_addresses_location
15611561

1562+
PrepareGarbageCollectionCommitsStatus:
1563+
type: object
1564+
properties:
1565+
task_id:
1566+
type: string
1567+
description: the id of the task preparing the GC commits
1568+
completed:
1569+
type: boolean
1570+
description: true if the task has completed (either successfully or with an error)
1571+
update_time:
1572+
type: string
1573+
format: date-time
1574+
description: last time the task status was updated
1575+
result:
1576+
$ref: "#/components/schemas/GarbageCollectionPrepareResponse"
1577+
error:
1578+
$ref: "#/components/schemas/Error"
1579+
required:
1580+
- task_id
1581+
- completed
1582+
- update_time
1583+
15621584
PrepareGCUncommittedRequest:
15631585
type: object
15641586
properties:
@@ -1722,6 +1744,15 @@ components:
17221744
required:
17231745
- id
17241746

1747+
TaskCreation:
1748+
type: object
1749+
properties:
1750+
id:
1751+
description: The id of the new task
1752+
type: string
1753+
required:
1754+
- id
1755+
17251756
MetaRangeCreation:
17261757
type: object
17271758
properties:
@@ -2038,13 +2069,13 @@ components:
20382069
token:
20392070
type: string
20402071
description: The license JWT token
2041-
2072+
20422073
IcebergNamespaceRef:
20432074
description: Reference to one or more levels of a namespace
20442075
type: array
20452076
items:
20462077
type: string
2047-
example: [ "accounting", "tax" ]
2078+
example: ["accounting", "tax"]
20482079

20492080
IcebergRemoteTable:
20502081
type: object
@@ -6008,6 +6039,75 @@ paths:
60086039
default:
60096040
$ref: "#/components/responses/ServerError"
60106041

6042+
/repositories/{repository}/gc/prepare_commits/async:
6043+
parameters:
6044+
- in: path
6045+
name: repository
6046+
required: true
6047+
schema:
6048+
type: string
6049+
post:
6050+
tags:
6051+
- internal
6052+
operationId: prepareGarbageCollectionCommitsAsync
6053+
summary: prepare gc commits
6054+
responses:
6055+
202:
6056+
description: GC prepare task started
6057+
content:
6058+
application/json:
6059+
schema:
6060+
$ref: "#/components/schemas/TaskCreation"
6061+
400:
6062+
$ref: "#/components/responses/ValidationError"
6063+
401:
6064+
$ref: "#/components/responses/Unauthorized"
6065+
403:
6066+
$ref: "#/components/responses/Forbidden"
6067+
404:
6068+
$ref: "#/components/responses/NotFound"
6069+
429:
6070+
description: too many requests
6071+
default:
6072+
$ref: "#/components/responses/ServerError"
6073+
6074+
/repositories/{repository}/gc/prepare_commits/status:
6075+
parameters:
6076+
- in: path
6077+
name: repository
6078+
required: true
6079+
schema:
6080+
type: string
6081+
get:
6082+
tags:
6083+
- internal
6084+
operationId: prepareGarbageCollectionCommitsStatus
6085+
summary: get status of prepare gc commits operation
6086+
parameters:
6087+
- in: query
6088+
name: id
6089+
description: Unique identifier of the prepare GC commits task
6090+
schema:
6091+
type: string
6092+
required: true
6093+
responses:
6094+
200:
6095+
description: prepare GC commits task status
6096+
content:
6097+
application/json:
6098+
schema:
6099+
$ref: "#/components/schemas/PrepareGarbageCollectionCommitsStatus"
6100+
401:
6101+
$ref: "#/components/responses/Unauthorized"
6102+
403:
6103+
$ref: "#/components/responses/Forbidden"
6104+
404:
6105+
$ref: "#/components/responses/NotFound"
6106+
429:
6107+
description: too many requests
6108+
default:
6109+
$ref: "#/components/responses/ServerError"
6110+
60116111
/repositories/{repository}/gc/prepare_uncommited:
60126112
parameters:
60136113
- in: path
@@ -6553,4 +6653,4 @@ paths:
65536653
404:
65546654
$ref: "#/components/responses/NotFound"
65556655
default:
6556-
$ref: "#/components/responses/ServerError"
6656+
$ref: "#/components/responses/ServerError"

clients/java/README.md

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

clients/java/api/openapi.yaml

Lines changed: 153 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)