New issue
Advanced search Search tips

Issue 889875 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 1
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

pinpoint API returns internal error on request with bad path arg

Project Member Reported by perezju@chromium.org, Sep 27

Issue description

By accident I made some pinpoint requests to start a job with:

{
  "benchmark": "startup.mobile",
  "configuration": "android-go-perf",
  "end_git_hash": "675fb5b9bfb23451df4406983a1fd29d0b754593",
  "name": "Try job for cold startup on Go",
  "patch": "https://chromium-review.googlesource.com/c/chromium/src/+/nnnnnn",
  "repository": "chromium",
  "start_git_hash": "675fb5b9bfb23451df4406983a1fd29d0b754593",
  "target": "performance_test_suite"
}

The endpoint returns a "500 Internal Server Error", but this should probably be a client error instead. My guess is it failed because of the bad patch url on it.
 
HTTP status code 404: Not found: nnnnnn
Traceback (most recent call last):
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/e416f9a06334486a/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1535, in __call__
    rv = self.handle_exception(request, response, e)
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/e416f9a06334486a/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1529, in __call__
    rv = self.router.dispatch(request, response)
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/e416f9a06334486a/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1278, in default_dispatcher
    return route.handler_adapter(request, response)
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/e416f9a06334486a/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1102, in __call__
    return handler.dispatch()
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/e416f9a06334486a/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 572, in dispatch
    return self.handle_exception(e, self.app.debug)
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/e416f9a06334486a/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 570, in dispatch
    return method(*args, **kwargs)
  File "/base/data/home/apps/s~chromeperf/pinpoint:clean-dtu-64f2ed4b.412805903243424758/dashboard/api/api_request_handler.py", line 64, in post
    results = self.PrivilegedPost(*args)
  File "/base/data/home/apps/s~chromeperf/pinpoint:clean-dtu-64f2ed4b.412805903243424758/dashboard/pinpoint/handlers/new.py", line 25, in PrivilegedPost
    job = _CreateJob(self.request)
  File "/base/data/home/apps/s~chromeperf/pinpoint:clean-dtu-64f2ed4b.412805903243424758/dashboard/pinpoint/handlers/new.py", line 43, in _CreateJob
    changes = _ValidateChanges(arguments)
  File "/base/data/home/apps/s~chromeperf/pinpoint:clean-dtu-64f2ed4b.412805903243424758/dashboard/pinpoint/handlers/new.py", line 113, in _ValidateChanges
    return (change.Change.FromDict(change_1), change.Change.FromDict(change_2))
  File "/base/data/home/apps/s~chromeperf/pinpoint:clean-dtu-64f2ed4b.412805903243424758/dashboard/pinpoint/models/change/change.py", line 106, in FromDict
    patch = patch_module.FromDict(data['patch'])
  File "/base/data/home/apps/s~chromeperf/pinpoint:clean-dtu-64f2ed4b.412805903243424758/dashboard/pinpoint/models/change/patch.py", line 14, in FromDict
    return GerritPatch.FromDict(data)
  File "/base/data/home/apps/s~chromeperf/pinpoint:clean-dtu-64f2ed4b.412805903243424758/dashboard/pinpoint/models/change/patch.py", line 110, in FromDict
    server, change, fields=('ALL_REVISIONS',))
  File "/base/data/home/apps/s~chromeperf/pinpoint:clean-dtu-64f2ed4b.412805903243424758/dashboard/services/gerrit_service.py", line 18, in GetChange
    return request.RequestJson(url, o=fields)
  File "/base/data/home/apps/s~chromeperf/pinpoint:clean-dtu-64f2ed4b.412805903243424758/dashboard/services/request.py", line 31, in RequestJson
    content = Request(*args, **kwargs)
  File "/base/data/home/apps/s~chromeperf/pinpoint:clean-dtu-64f2ed4b.412805903243424758/dashboard/services/request.py", line 80, in Request
    content = _RequestAndProcessHttpErrors(url, use_auth, scope, **kwargs)
  File "/base/data/home/apps/s~chromeperf/pinpoint:clean-dtu-64f2ed4b.412805903243424758/dashboard/services/request.py", line 109, in _RequestAndProcessHttpErrors
    'HTTP status code %s: %s' % (response['status'], content))
NotFoundError: HTTP status code 404: Not found: nnnnnn
Project Member

Comment 2 by bugdroid1@chromium.org, Oct 1

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/ac93684421fa0fb860b74e4339253378ee9066ab

commit ac93684421fa0fb860b74e4339253378ee9066ab
Author: Dave Tu <dtu@chromium.org>
Date: Mon Oct 01 09:34:30 2018

[pinpoint] Make "patch not found" an HTTP 400 instead of a 500.

Bug:  chromium:889875 
Change-Id: Ibc45fed0fee9d742c80f888a0f8d75af41bb8be5
Reviewed-on: https://chromium-review.googlesource.com/1252761
Auto-Submit: Dave Tu <dtu@chromium.org>
Reviewed-by: Juan Antonio Navarro Pérez <perezju@chromium.org>
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>

[modify] https://crrev.com/ac93684421fa0fb860b74e4339253378ee9066ab/dashboard/dashboard/services/gerrit_service.py
[modify] https://crrev.com/ac93684421fa0fb860b74e4339253378ee9066ab/dashboard/dashboard/pinpoint/models/change/patch.py

Status: Fixed (was: Assigned)
Thanks for the fix Dave!
Project Member

Comment 4 by bugdroid1@chromium.org, Oct 1

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d85a631a4bf40f800592d593e444b12c744ed73b

commit d85a631a4bf40f800592d593e444b12c744ed73b
Author: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Date: Mon Oct 01 11:59:45 2018

Roll src/third_party/catapult 78374c5b9264..ac93684421fa (3 commits)

https://chromium.googlesource.com/catapult.git/+log/78374c5b9264..ac93684421fa


git log 78374c5b9264..ac93684421fa --date=short --no-merges --format='%ad %ae %s'
2018-10-01 dtu@chromium.org [pinpoint] Make "patch not found" an HTTP 400 instead of a 500.
2018-10-01 perezju@chromium.org [pinpoint_cli] Add command to download results as csv
2018-10-01 perezju@chromium.org [pinpoint_cli] Cache locally content from isolate digests


Created with:
  gclient setdep -r src/third_party/catapult@ac93684421fa

The AutoRoll server is located here: https://autoroll.skia.org/r/catapult-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel

BUG= chromium:889875 , chromium:879526 , chromium:879526 
TBR=sullivan@chromium.org

Change-Id: I08d1f0e25bfc78f84b5b97b380f52d85f6e1a53b
Reviewed-on: https://chromium-review.googlesource.com/1253822
Reviewed-by: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#595428}
[modify] https://crrev.com/d85a631a4bf40f800592d593e444b12c744ed73b/DEPS

Sign in to add a comment