Skip to content

Commit b386073

Browse files
author
Arseny Bolotnikov
committed
spec
1 parent 606bc3f commit b386073

File tree

5 files changed

+39
-12
lines changed

5 files changed

+39
-12
lines changed

ydb/core/fq/libs/http_api_client/http_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ def create_query(
150150
self._validate_http_error(response, expected_code=expected_code)
151151
return response.json()["id"]
152152

153-
def restart_query(
153+
def start_query(
154154
self,
155155
query_id: str,
156156
idempotency_key: str | None = None,

ydb/core/public_http/fq_handlers.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -401,9 +401,9 @@ DECLARE_YQ_GRPC_ACTOR(GetResultData, GetResultData);
401401

402402
#define TGrpcCallWrapperBase TGrpcCallWrapper<FederatedQuery::DescribeQueryRequest, FQHttp::GetQueryRequest, FederatedQuery::ModifyQueryResult, google::protobuf::Empty, FederatedQuery::ModifyQueryResponse>
403403

404-
class TRestartQueryRequest : public TGrpcCallWrapperBase {
404+
class TStartQueryRequest : public TGrpcCallWrapperBase {
405405
public:
406-
TRestartQueryRequest(const THttpRequestContext& ctx)
406+
TStartQueryRequest(const THttpRequestContext& ctx)
407407
: TGrpcCallWrapperBase(ctx, &NGRpcService::CreateFederatedQueryDescribeQueryRequestOperationCall)
408408
{}
409409

@@ -446,7 +446,7 @@ class TRestartQueryRequest : public TGrpcCallWrapperBase {
446446
TGrpcCallWrapper<FederatedQuery::ModifyQueryRequest, int, FederatedQuery::ModifyQueryResult, google::protobuf::Empty, FederatedQuery::ModifyQueryResponse>::SendReply
447447
);
448448

449-
// новый тип события, по идее нужна новая фабрика
449+
// new event -> new EventFactory
450450
EventFactory = &NGRpcService::CreateFederatedQueryModifyQueryRequestOperationCall;
451451
ctx.Send(NGRpcService::CreateGRpcRequestProxyId(), EventFactory(requestContextModify).release());
452452
this->Die(ctx);

ydb/core/public_http/http_service.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ namespace {
5757
Router.RegisterHandler(HTTP_METHOD_GET, "/api/fq/v1/queries/{query_id}/status", CreateHttpHandler<TJsonGetQueryStatus>());
5858
Router.RegisterHandler(HTTP_METHOD_GET, "/api/fq/v1/queries/{query_id}/results/{result_set_index}", CreateHttpHandler<TJsonGetResultData>());
5959
Router.RegisterHandler(HTTP_METHOD_POST, "/api/fq/v1/queries/{query_id}/stop", CreateHttpHandler<TJsonStopQuery>());
60-
Router.RegisterHandler(HTTP_METHOD_POST, "/api/fq/v1/queries/{query_id}/start", CreateHttpHandler<TRestartQueryRequest>());
60+
Router.RegisterHandler(HTTP_METHOD_POST, "/api/fq/v1/queries/{query_id}/start", CreateHttpHandler<TStartQueryRequest>());
6161
}
6262

6363
void Bootstrap(const TActorContext& ctx) {

ydb/core/public_http/openapi/openapi.yaml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,31 @@ paths:
185185
required: true
186186
schema:
187187
type: string
188+
'/queries/{query_id}/start':
189+
post:
190+
responses:
191+
'204':
192+
description: No Content
193+
'400':
194+
description: Bad Request
195+
content:
196+
application/json:
197+
schema:
198+
$ref: '#/components/schemas/GenericError'
199+
parameters:
200+
- $ref: '#/components/parameters/Idempotency-Key'
201+
- $ref: '#/components/parameters/Authorization'
202+
- $ref: '#/components/parameters/x-request-id'
203+
- $ref: '#/components/parameters/db'
204+
- $ref: '#/components/parameters/project'
205+
summary: start stopped query
206+
operationId: start-query
207+
parameters:
208+
- name: query_id
209+
in: path
210+
required: true
211+
schema:
212+
type: string
188213
'/queries/{query_id}/results/{result_set_index}':
189214
parameters:
190215
- name: query_id

ydb/tests/fq/http_api/test_http_api.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ def test_simple_analytics_query(self):
9898
response = client.stop_query(query_id)
9999
assert response.status_code == 204
100100

101-
response = client.restart_query(query_id)
101+
response = client.start_query(query_id)
102102
assert response.status_code == 204
103103

104104
response = client.stop_query(query_id)
@@ -120,7 +120,7 @@ def test_invalid_id(self):
120120
resp = client.stop_quert(query_id="nevalidno")
121121
assert resp.status_code == 404
122122

123-
resp = client.restart_query(query_id="snova nevalidno")
123+
resp = client.start_query(query_id="snova nevalidno")
124124
assert resp.status_code == 404
125125

126126
def test_warning(self):
@@ -252,18 +252,20 @@ def test_restart_idempotency(self):
252252
response1 = client.stop_query(query_id, idempotency_key="Z")
253253
assert response1.status_code == 204
254254

255-
response2 = client.restart_query(query_id, idempotency_key="Z")
255+
response2 = client.start_query(query_id, idempotency_key="Z")
256256
assert response2.status_code == 204
257257

258-
response2 = client.restart_query(query_id, idempotency_key="Z")
258+
response2 = client.start_query(query_id, idempotency_key="Z")
259259
assert response2.status_code == 204
260260

261-
response2 = client.restart_query(query_id)
261+
response2 = client.start_query(query_id)
262262
assert response2.status_code == 400
263263

264+
response1 = client.stop_query(query_id, idempotency_key="Z")
265+
assert response1.status_code == 204
266+
264267
self.streaming_over_kikimr.compute_plane.start()
265268
c.wait_query_status(query_id, fq.QueryMeta.ABORTED_BY_USER)
266-
pass
267269

268270
def test_simple_streaming_query(self):
269271
self.init_topics("simple_streaming_query", create_output=False)
@@ -296,7 +298,7 @@ def test_simple_streaming_query(self):
296298
response = client.stop_query(query_id)
297299
assert response.status_code == 204
298300

299-
response = client.restart_query(query_id)
301+
response = client.start_query(query_id)
300302
assert response.status_code == 204
301303

302304
wait_for_query_status(client, query_id, ["FAILED"])

0 commit comments

Comments
 (0)