kernelci / kernelci/kernelci-api

API limit restrict output to user, but doesn't restrict amount of data from mongodb

Open
#549 8 comments 0 reactions 0 assignees View on GitHub
bug critical techdebt
Dominant language
Python
Stars
10
Forks
21
PR merge metrics
No merged PRs in 30d

Description

If we do two queries:
curl "https://staging.kernelci.org:9000/latest/nodes?kind=test&limit=1"
real 0m5.994s
user 0m0.012s
sys 0m0.000s

curl "https://staging.kernelci.org:9000/latest/nodes?kind=checkout&limit=1"
real 0m0.023s
user 0m0.012s
sys 0m0.000s

We can notice significant difference in response time. While it should be fast both (kind is indexed).

On preliminary investigation reason is that search query submitted to mongodb without limit parameter, which is causing very large output in case of some queries.
We need to resolve that, as it is also causing excessive load on database and ram consumption.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the /latest/nodes endpoint and its MongoDB query, using the two curl examples to compare kind=test and kind=checkout with limit=1. Confirm that the requested limit reaches the database query, then verify response timing and database resource use for both cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
mongodb, python
Domain
api, backend, databases
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.