Skip to content

Commit c53aa61

Browse files
authored
Use max_page size for apps, service keys & routes (#2793)
To reduce the number of db queries in cloud controller it is beneficial to use a larger page size (5k) for potentially large entities. This was already done for `marketplace` and `services` in commit b823ae5. This commit does the same for `apps`, `routes` and `service-keys`
1 parent 0fc2173 commit c53aa61

File tree

6 files changed

+17
-4
lines changed

6 files changed

+17
-4
lines changed

actor/v7action/application_summary.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ func (actor Actor) GetAppSummariesForSpace(spaceGUID string, labelSelector strin
4040
keys := []ccv3.Query{
4141
{Key: ccv3.SpaceGUIDFilter, Values: []string{spaceGUID}},
4242
{Key: ccv3.OrderBy, Values: []string{ccv3.NameOrder}},
43+
{Key: ccv3.PerPage, Values: []string{ccv3.MaxPerPage}},
4344
}
4445
if len(labelSelector) > 0 {
4546
keys = append(keys, ccv3.Query{Key: ccv3.LabelSelectorFilter, Values: []string{labelSelector}})

actor/v7action/application_summary_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,7 @@ var _ = Describe("Application Summary Actions", func() {
276276
ccv3.Query{Key: ccv3.OrderBy, Values: []string{"name"}},
277277
ccv3.Query{Key: ccv3.SpaceGUIDFilter, Values: []string{"some-space-guid"}},
278278
ccv3.Query{Key: ccv3.LabelSelectorFilter, Values: []string{"some-key=some-value"}},
279+
ccv3.Query{Key: ccv3.PerPage, Values: []string{ccv3.MaxPerPage}},
279280
))
280281

281282
Expect(fakeCloudControllerClient.GetProcessesCallCount()).To(Equal(1))
@@ -296,6 +297,7 @@ var _ = Describe("Application Summary Actions", func() {
296297
Expect(fakeCloudControllerClient.GetApplicationsArgsForCall(0)).To(ConsistOf(
297298
ccv3.Query{Key: ccv3.OrderBy, Values: []string{"name"}},
298299
ccv3.Query{Key: ccv3.SpaceGUIDFilter, Values: []string{"some-space-guid"}},
300+
ccv3.Query{Key: ccv3.PerPage, Values: []string{ccv3.MaxPerPage}},
299301
))
300302
})
301303
})

actor/v7action/route.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,8 @@ func (actor Actor) GetRouteDestinationByAppGUID(route resources.Route, appGUID s
8484
func (actor Actor) GetRoutesBySpace(spaceGUID string, labelSelector string) ([]resources.Route, Warnings, error) {
8585
allWarnings := Warnings{}
8686
queries := []ccv3.Query{
87-
ccv3.Query{Key: ccv3.SpaceGUIDFilter, Values: []string{spaceGUID}},
87+
{Key: ccv3.SpaceGUIDFilter, Values: []string{spaceGUID}},
88+
{Key: ccv3.PerPage, Values: []string{ccv3.MaxPerPage}},
8889
}
8990
if len(labelSelector) > 0 {
9091
queries = append(queries, ccv3.Query{Key: ccv3.LabelSelectorFilter, Values: []string{labelSelector}})
@@ -189,7 +190,8 @@ func (actor Actor) GetRoute(routePath string, spaceGUID string) (resources.Route
189190
func (actor Actor) GetRoutesByOrg(orgGUID string, labelSelector string) ([]resources.Route, Warnings, error) {
190191
allWarnings := Warnings{}
191192
queries := []ccv3.Query{
192-
ccv3.Query{Key: ccv3.OrganizationGUIDFilter, Values: []string{orgGUID}},
193+
{Key: ccv3.OrganizationGUIDFilter, Values: []string{orgGUID}},
194+
{Key: ccv3.PerPage, Values: []string{ccv3.MaxPerPage}},
193195
}
194196
if len(labelSelector) > 0 {
195197
queries = append(queries, ccv3.Query{Key: ccv3.LabelSelectorFilter, Values: []string{labelSelector}})

actor/v7action/route_test.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -296,9 +296,11 @@ var _ = Describe("Route Actions", func() {
296296

297297
Expect(fakeCloudControllerClient.GetRoutesCallCount()).To(Equal(1))
298298
query := fakeCloudControllerClient.GetRoutesArgsForCall(0)
299-
Expect(query).To(HaveLen(1))
299+
Expect(query).To(HaveLen(2))
300300
Expect(query[0].Key).To(Equal(ccv3.SpaceGUIDFilter))
301301
Expect(query[0].Values).To(ConsistOf("space-guid"))
302+
Expect(query[1].Key).To(Equal(ccv3.PerPage))
303+
Expect(query[1].Values).To(ConsistOf(ccv3.MaxPerPage))
302304
})
303305

304306
When("a label selector is provided", func() {
@@ -312,6 +314,7 @@ var _ = Describe("Route Actions", func() {
312314
Expect(fakeCloudControllerClient.GetRoutesCallCount()).To(Equal(1))
313315
expectedQuery := []ccv3.Query{
314316
{Key: ccv3.SpaceGUIDFilter, Values: []string{"space-guid"}},
317+
{Key: ccv3.PerPage, Values: []string{ccv3.MaxPerPage}},
315318
{Key: ccv3.LabelSelectorFilter, Values: []string{"ink=blink"}},
316319
}
317320
actualQuery := fakeCloudControllerClient.GetRoutesArgsForCall(0)
@@ -631,9 +634,11 @@ var _ = Describe("Route Actions", func() {
631634

632635
Expect(fakeCloudControllerClient.GetRoutesCallCount()).To(Equal(1))
633636
query := fakeCloudControllerClient.GetRoutesArgsForCall(0)
634-
Expect(query).To(HaveLen(1))
637+
Expect(query).To(HaveLen(2))
635638
Expect(query[0].Key).To(Equal(ccv3.OrganizationGUIDFilter))
636639
Expect(query[0].Values).To(ConsistOf("org-guid"))
640+
Expect(query[1].Key).To(Equal(ccv3.PerPage))
641+
Expect(query[1].Values).To(ConsistOf(ccv3.MaxPerPage))
637642
})
638643

639644
When("a label selector is provided", func() {
@@ -647,6 +652,7 @@ var _ = Describe("Route Actions", func() {
647652
Expect(fakeCloudControllerClient.GetRoutesCallCount()).To(Equal(1))
648653
expectedQuery := []ccv3.Query{
649654
{Key: ccv3.OrganizationGUIDFilter, Values: []string{"org-guid"}},
655+
{Key: ccv3.PerPage, Values: []string{ccv3.MaxPerPage}},
650656
{Key: ccv3.LabelSelectorFilter, Values: []string{"env=prod"}},
651657
}
652658
actualQuery := fakeCloudControllerClient.GetRoutesArgsForCall(0)

actor/v7action/service_key.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ func (actor Actor) GetServiceKeysByServiceInstance(serviceInstanceName, spaceGUI
6262
keys, warnings, err = actor.CloudControllerClient.GetServiceCredentialBindings(
6363
ccv3.Query{Key: ccv3.ServiceInstanceGUIDFilter, Values: []string{serviceInstance.GUID}},
6464
ccv3.Query{Key: ccv3.TypeFilter, Values: []string{"key"}},
65+
ccv3.Query{Key: ccv3.PerPage, Values: []string{ccv3.MaxPerPage}},
6566
)
6667
return
6768
},

actor/v7action/service_key_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,7 @@ var _ = Describe("Service Key Action", func() {
248248
Expect(fakeCloudControllerClient.GetServiceCredentialBindingsArgsForCall(0)).To(ConsistOf(
249249
ccv3.Query{Key: ccv3.ServiceInstanceGUIDFilter, Values: []string{serviceInstanceGUID}},
250250
ccv3.Query{Key: ccv3.TypeFilter, Values: []string{"key"}},
251+
ccv3.Query{Key: ccv3.PerPage, Values: []string{ccv3.MaxPerPage}},
251252
))
252253
})
253254

0 commit comments

Comments
 (0)