Skip to content

Commit 0410396

Browse files
authored
Merge pull request #17 from EmbarkStudios/do/om-query-tickets-limit
fix: move query ticket limit to grpc server side
2 parents 8401b99 + 8d51ab8 commit 0410396

18 files changed

+71
-50
lines changed

api/query.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {
5858
message QueryTicketsRequest {
5959
// The Pool representing the set of Filters to be queried.
6060
Pool pool = 1;
61+
// The max number of tickets to stream back
62+
int32 limit = 2;
6163
}
6264

6365
message QueryTicketsResponse {

api/query.swagger.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -362,6 +362,11 @@
362362
"pool": {
363363
"$ref": "#/definitions/openmatchPool",
364364
"description": "The Pool representing the set of Filters to be queried."
365+
},
366+
"limit": {
367+
"type": "integer",
368+
"format": "int32",
369+
"title": "The max number of tickets to stream back"
365370
}
366371
}
367372
},

internal/app/frontend/frontend_service.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -289,10 +289,10 @@ func doWatchAssignments(ctx context.Context, id string, sender func(*pb.Assignme
289289
callback := func(assignment *pb.Assignment) error {
290290
select {
291291
case <-ctx.Done():
292-
return status.Errorf(codes.Aborted, ctx.Err().Error())
292+
return status.Error(codes.Aborted, ctx.Err().Error())
293293
default:
294294
if ctx.Err() != nil {
295-
return status.Errorf(codes.Aborted, ctx.Err().Error())
295+
return status.Error(codes.Aborted, ctx.Err().Error())
296296
}
297297

298298
if (currAssignment == nil && assignment != nil) || !proto.Equal(currAssignment, assignment) {
@@ -303,7 +303,7 @@ func doWatchAssignments(ctx context.Context, id string, sender func(*pb.Assignme
303303

304304
err := sender(currAssignment)
305305
if err != nil {
306-
return status.Errorf(codes.Aborted, err.Error())
306+
return status.Error(codes.Aborted, err.Error())
307307
}
308308
}
309309
return nil
@@ -396,7 +396,7 @@ func (s *frontendService) GetBackfillTickets(ctx context.Context, req *pb.GetBac
396396

397397
err := m.Lock(ctx)
398398
if err != nil {
399-
return nil, status.Errorf(codes.Unavailable, err.Error())
399+
return nil, status.Error(codes.Unavailable, err.Error())
400400
}
401401
defer func() {
402402
if _, err = m.Unlock(context.Background()); err != nil {

internal/app/query/query_service.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ func (s *queryService) QueryTickets(req *pb.QueryTicketsRequest, responseServer
5353
return err
5454
}
5555

56+
limit := int(req.GetLimit())
5657
var results []*pb.Ticket
5758
err = s.tc.request(ctx, func(value interface{}) {
5859
tickets, ok := value.(map[string]*pb.Ticket)
@@ -64,6 +65,9 @@ func (s *queryService) QueryTickets(req *pb.QueryTicketsRequest, responseServer
6465
for _, ticket := range tickets {
6566
if pf.In(ticket) {
6667
results = append(results, ticket)
68+
if limit > 0 && len(results) >= limit {
69+
break
70+
}
6771
}
6872
}
6973
})

internal/ipb/messages.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/ipb/synchronizer.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/ipb/synchronizer_grpc.pb.go

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

pkg/pb/backend_grpc.pb.go

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

pkg/pb/evaluator.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/pb/evaluator_grpc.pb.go

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

0 commit comments

Comments
 (0)