New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 865536 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Jul 19
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

New alerts api is slow

Project Member Reported by benjhayden@chromium.org, Jul 19

Issue description

The Chromeperf Dashboard is in the process of replacing the old alerts api with a new api.
https://github.com/catapult-project/catapult/tree/master/dashboard/dashboard/api#alerts
ChromiumDash deployed yesterday with my change to use the new chromeperf alerts api and they noticed it seemed slow so I dug in.
The old api typically returned results in about 8 seconds, while the new API sometimes takes over 50 seconds.
For example, /api/alerts?max_start_revision=576464&min_end_revision=576464&limit=5000 takes over 50 seconds to return 3 alerts, whereas /api/alerts/rev/576464 takes about 8 seconds... but it doesn't return any of the alerts!
The old API ran a single query with limit=5000, and returned whatever it found (which is nothing in this case), but the new API automatically runs another query and another and another (chasing cursors) until it either finds some results or approaches appengine's 60 second timeout.

We could add an option to the new api to disable the automatic cursor-chasing if some clients want to trade off correctness for speed, but otherwise I think the new api is WAI.
Prasad, let me know if chromiumdash wants that option to disable the cursor-chasing?
 
Cc: amineer@chromium.org
Components: Tools>ChromiumDash
+amineer
In my opinion, I think the correctness is what we should care, but at the same time I would also like to know the option of limiting number of cursor chasing.
 

Sign in to add a comment