Skip to content

Commit 66f0cc6

Browse files
authored
fix: db query and memory limit (#989)
1 parent adf002a commit 66f0cc6

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

api/src/shared/common/db_utils.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from geoalchemy2 import WKTElement
44
from sqlalchemy import or_
55
from sqlalchemy import select
6-
from sqlalchemy.orm import joinedload, Session
6+
from sqlalchemy.orm import joinedload, Session, contains_eager
77
from sqlalchemy.orm.query import Query
88
from sqlalchemy.orm.strategy_options import _AbstractLoad
99

@@ -56,12 +56,17 @@ def get_gtfs_feeds_query(
5656
subquery, dataset_latitudes, dataset_longitudes, bounding_filter_method
5757
).subquery()
5858

59-
feed_query = db_session.query(Gtfsfeed).filter(Gtfsfeed.id.in_(subquery))
59+
feed_query = (
60+
db_session.query(Gtfsfeed)
61+
.outerjoin(Gtfsfeed.gtfsdatasets)
62+
.filter(Gtfsfeed.id.in_(subquery))
63+
.filter((Gtfsdataset.latest) | (Gtfsdataset.id == None)) # noqa: E711
64+
)
6065
if not include_wip:
6166
feed_query = feed_query.filter(Gtfsfeed.operational_status == "published")
6267

6368
feed_query = feed_query.options(
64-
joinedload(Gtfsfeed.gtfsdatasets)
69+
contains_eager(Gtfsfeed.gtfsdatasets)
6570
.joinedload(Gtfsdataset.validation_reports)
6671
.joinedload(Validationreport.notices),
6772
*get_joinedload_options(),

infra/feed-api/main.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ resource "google_cloud_run_v2_service" "mobility-feed-api" {
7676
resources {
7777
limits = {
7878
cpu = "1"
79-
memory = "1Gi"
79+
memory = "2Gi"
8080
}
8181
}
8282
}

0 commit comments

Comments
 (0)