Skip to content

Commit cb4377f

Browse files
committed
chore: temp update redis calls
1 parent add2e90 commit cb4377f

File tree

12 files changed

+396
-218
lines changed

12 files changed

+396
-218
lines changed

api/frontend.swagger.json

Lines changed: 0 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -424,46 +424,6 @@
424424
]
425425
}
426426
},
427-
"/v1/frontendservice/tickets/expired": {
428-
"get": {
429-
"summary": "GetExpiredTickets returns the ticket Ids corresponding to tickets outside the valid window",
430-
"operationId": "FrontendService_GetExpiredTickets",
431-
"responses": {
432-
"200": {
433-
"description": "A successful response.",
434-
"schema": {
435-
"$ref": "#/definitions/openmatchGetExpiredTicketsResponse"
436-
}
437-
},
438-
"404": {
439-
"description": "Returned when the resource does not exist.",
440-
"schema": {
441-
"type": "string",
442-
"format": "string"
443-
}
444-
},
445-
"default": {
446-
"description": "An unexpected error response.",
447-
"schema": {
448-
"$ref": "#/definitions/rpcStatus"
449-
}
450-
}
451-
},
452-
"parameters": [
453-
{
454-
"name": "limit",
455-
"description": "The limit on how many ticket Ids to return",
456-
"in": "query",
457-
"required": false,
458-
"type": "integer",
459-
"format": "int32"
460-
}
461-
],
462-
"tags": [
463-
"FrontendService"
464-
]
465-
}
466-
},
467427
"/v1/frontendservice/tickets/{ticket_id}": {
468428
"get": {
469429
"summary": "GetTicket get the Ticket associated with the specified TicketId.",
@@ -711,18 +671,6 @@
711671
}
712672
}
713673
},
714-
"openmatchGetExpiredTicketsResponse": {
715-
"type": "object",
716-
"properties": {
717-
"ticket_ids": {
718-
"type": "array",
719-
"items": {
720-
"type": "string"
721-
},
722-
"description": "Expired TicketIds of generated Tickets to be deleted."
723-
}
724-
}
725-
},
726674
"openmatchGetIndexedTicketCountResponse": {
727675
"type": "object",
728676
"properties": {

api/query.proto

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,15 @@ message QueryBackfillsResponse {
8989
repeated Backfill backfills = 1;
9090
}
9191

92+
message QueryExpiredTicketsRequest {
93+
int32 limit = 1;
94+
}
95+
96+
message QueryExpiredTicketsResponse {
97+
// Tickets that meet all the filtering criteria requested by the pool.
98+
repeated Ticket tickets = 1;
99+
}
100+
92101
// The QueryService service implements helper APIs for Match Function to query Tickets from state storage.
93102
service QueryService {
94103
// QueryTickets gets a list of Tickets that match all Filters of the input Pool.
@@ -122,4 +131,13 @@ service QueryService {
122131
body: "*"
123132
};
124133
}
134+
135+
136+
// QueryExpiredTickets get the expired tickets limited by the specified number
137+
rpc QueryExpiredTickets(QueryExpiredTicketsRequest) returns (stream QueryExpiredTicketsResponse) {
138+
option (google.api.http) = {
139+
post: "/v1/queryservice/tickets:expired"
140+
body: "*"
141+
};
142+
}
125143
}

api/query.swagger.json

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,55 @@
128128
]
129129
}
130130
},
131+
"/v1/queryservice/tickets:expired": {
132+
"post": {
133+
"summary": "QueryExpiredTickets get the expired tickets limited by the specified number",
134+
"operationId": "QueryService_QueryExpiredTickets",
135+
"responses": {
136+
"200": {
137+
"description": "A successful response.(streaming responses)",
138+
"schema": {
139+
"type": "object",
140+
"properties": {
141+
"result": {
142+
"$ref": "#/definitions/openmatchQueryExpiredTicketsResponse"
143+
},
144+
"error": {
145+
"$ref": "#/definitions/rpcStatus"
146+
}
147+
},
148+
"title": "Stream result of openmatchQueryExpiredTicketsResponse"
149+
}
150+
},
151+
"404": {
152+
"description": "Returned when the resource does not exist.",
153+
"schema": {
154+
"type": "string",
155+
"format": "string"
156+
}
157+
},
158+
"default": {
159+
"description": "An unexpected error response.",
160+
"schema": {
161+
"$ref": "#/definitions/rpcStatus"
162+
}
163+
}
164+
},
165+
"parameters": [
166+
{
167+
"name": "body",
168+
"in": "body",
169+
"required": true,
170+
"schema": {
171+
"$ref": "#/definitions/openmatchQueryExpiredTicketsRequest"
172+
}
173+
}
174+
],
175+
"tags": [
176+
"QueryService"
177+
]
178+
}
179+
},
131180
"/v1/queryservice/tickets:query": {
132181
"post": {
133182
"summary": "QueryTickets gets a list of Tickets that match all Filters of the input Pool.\n - If the Pool contains no Filters, QueryTickets will return all Tickets in the state storage.\nQueryTickets pages the Tickets by `queryPageSize` and stream back responses.\n - queryPageSize is default to 1000 if not set, and has a minimum of 10 and maximum of 10000.",
@@ -335,6 +384,28 @@
335384
},
336385
"description": "BETA FEATURE WARNING: This Request messages are not finalized and \nstill subject to possible change or removal."
337386
},
387+
"openmatchQueryExpiredTicketsRequest": {
388+
"type": "object",
389+
"properties": {
390+
"limit": {
391+
"type": "integer",
392+
"format": "int32"
393+
}
394+
}
395+
},
396+
"openmatchQueryExpiredTicketsResponse": {
397+
"type": "object",
398+
"properties": {
399+
"tickets": {
400+
"type": "array",
401+
"items": {
402+
"type": "object",
403+
"$ref": "#/definitions/openmatchTicket"
404+
},
405+
"description": "Tickets that meet all the filtering criteria requested by the pool."
406+
}
407+
}
408+
},
338409
"openmatchQueryTicketIdsRequest": {
339410
"type": "object",
340411
"properties": {

internal/app/query/query_service.go

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,34 @@ func (s *queryService) QueryBackfills(req *pb.QueryBackfillsRequest, responseSer
191191
return nil
192192
}
193193

194+
// QueryExpiredTickets get the expired tickets limited by the specified number
195+
func (s *queryService) QueryExpiredTickets(req *pb.QueryExpiredTicketsRequest, responseServer pb.QueryService_QueryExpiredTicketsServer) error {
196+
ctx := responseServer.Context()
197+
limit := int(req.GetLimit())
198+
199+
tickets, err := s.bc.store.GetExpiredTickets(ctx, limit)
200+
if err != nil {
201+
return err
202+
}
203+
204+
pSize := getPageSize(s.cfg)
205+
for start := 0; start < len(tickets); start += pSize {
206+
end := start + pSize
207+
if end > len(tickets) {
208+
end = len(tickets)
209+
}
210+
211+
err := responseServer.Send(&pb.QueryExpiredTicketsResponse{
212+
Tickets: tickets[start:end],
213+
})
214+
if err != nil {
215+
return err
216+
}
217+
}
218+
219+
return nil
220+
}
221+
194222
func getPageSize(cfg config.View) int {
195223
const (
196224
name = "queryPageSize"

internal/statestore/instrumented.go

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -217,25 +217,11 @@ func (is *instrumentedService) GetIndexedTicketCount(ctx context.Context) (int,
217217
return is.s.GetIndexedTicketCount(ctx)
218218
}
219219

220-
// CleanupTickets removes expired tickets
221-
func (is *instrumentedService) CleanupTickets(ctx context.Context) error {
222-
_, span := trace.StartSpan(context.Background(), "statestore/instrumented.CleanupTickets")
220+
// GetExpiredTickets gets all ticket IDs which are expired
221+
func (is *instrumentedService) GetExpiredTickets(ctx context.Context, limit int) ([]*pb.Ticket, error) {
222+
ctx, span := trace.StartSpan(ctx, "statestore/instrumented.GetExpiredTickets")
223223
defer span.End()
224-
return is.s.CleanupTickets(ctx)
225-
}
226-
227-
// DeleteTicketCompletely performs a set of operations to remove the ticket and all related entries.
228-
func (is *instrumentedService) DeleteTicketCompletely(ctx context.Context, id string) error {
229-
_, span := trace.StartSpan(context.Background(), "statestore/instrumented.DeleteTicketCompletely")
230-
defer span.End()
231-
return is.s.DeleteTicketCompletely(ctx, id)
232-
}
233-
234-
// GetExpiredTicketIDs gets all ticket IDs which are expired
235-
func (is *instrumentedService) GetExpiredTicketIDs(ctx context.Context, limit int) ([]string, error) {
236-
ctx, span := trace.StartSpan(ctx, "statestore/instrumented.GetExpiredTicketIDs")
237-
defer span.End()
238-
return is.s.GetExpiredTicketIDs(ctx, 0)
224+
return is.s.GetExpiredTickets(ctx, limit)
239225
}
240226

241227
// GetIndexedIDSetWithTTL returns the ids of all tickets currently indexed but within a given TTL.

internal/statestore/public.go

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -128,14 +128,8 @@ type Service interface {
128128
// GetIndexedTicketCount returns the current count of indexed tickets
129129
GetIndexedTicketCount(ctx context.Context) (int, error)
130130

131-
//CleanupTickets removes expired tickets
132-
CleanupTickets(ctx context.Context) error
133-
134-
// DeleteTicketCompletely performs a set of operations to remove the ticket and all related entries.
135-
DeleteTicketCompletely(ctx context.Context, id string) error
136-
137-
// GetExpiredTicketIDs gets all ticket IDs which are expired
138-
GetExpiredTicketIDs(ctx context.Context, limit int) ([]string, error)
131+
// GetExpiredTickets gets all tickets which are expired
132+
GetExpiredTickets(ctx context.Context, limit int) ([]*pb.Ticket, error)
139133

140134
// GetIndexedIDSetWithTTL returns the ids of all tickets currently indexed but within a given TTL.
141135
GetIndexedIDSetWithTTL(ctx context.Context, limit int) (map[string]struct{}, error)

0 commit comments

Comments
 (0)