New issue
Advanced search Search tips

Issue 714985 link

Starred by 2 users

Issue metadata

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



Sign in to add a comment

"cit logdog cat" does not timeout on invalid log path

Project Member Reported by fjhenigman@chromium.org, Apr 25 2017

Issue description

cit logdog cat chromium/bb/chromium.gpu.fyi/Linux_Release__AMD_R7_240_/1928/+/recipes/steps/webgl2_conformance_tests/0/logs/json.output/0

[I2017-04-25T00:49:07.292307-04:00 124799 0 fetcher.go:366] No logs returned. Sleeping...               {"delay":"5s", "index":0}
[I2017-04-25T00:49:12.417524-04:00 124799 0 fetcher.go:366] No logs returned. Sleeping...               {"delay":"5s", "index":0}
[I2017-04-25T00:49:17.580121-04:00 124799 0 fetcher.go:366] No logs returned. Sleeping...               {"delay":"5s", "index":0}
[I2017-04-25T00:49:22.708707-04:00 124799 0 fetcher.go:366] No logs returned. Sleeping...               {"delay":"5s", "index":0}
...

It also goes into an infinite loop when I try a definitely non-exist path.
If the log doesn't exist or there's some reason why I can't get it, there should be an error message.

I'm trying to write a script to download a series of logs, e.g. 

for i in 1928 .. 2006
  chromium/bb/chromium.gpu.fyi/Linux_Release__AMD_R7_240_/$i/+/recipes/steps/webgl2_conformance_tests/0/logs/json.output/0

and it seems I have to start all the downloads, wait a while, then kill the ones that are hung.
 

Comment 1 by d...@chromium.org, Apr 25 2017

The tool retries forever because it is taking your word that stream that you requested should exist, and assuming its nonexistence is ingest lag. From the perspective of its current design, you are giving it invalid input in the form of stream names that will never exist.

There is no way for the tool to know the difference between a log stream that doesn't exist but will eventually (ingest lag, system hiccup, etc.), and a log stream that will never exist, and the polling accommodates this. It also accommodates in-progress streams and non-terminated streams that crashed before they could be completed, both of which can poll for quite a while (day+).

It seems like you're looking for log streams that exist and are "finished". I would be willing to add a flag to the "cat" subcommand to terminate immediately with a non-zero exit code if the requested stream is not finished.

Alternatively, you could make a point of providing actually valid stream paths by using the "query" subcommand first to identify streams that actually exist, and then only requesting those.

Comment 2 by mar...@chromium.org, Jul 11 2017

Labels: -Type-Bug -Pri-2 Pri-3 Type-Feature
Status: Available (was: Untriaged)
Summary: "cit logdog cat" does not timeout on invalid log path (was: "cit logdog cat" runs forever, does nothing)
->P3, FR, Available. That said, as Dan said, it's by design so I'm tempted to mark as WontFix.

Albeit, it could be interesting to add basic validation that at least a prefix of the path is valid but I don't know if it is possible at all.
Project Member

Comment 3 by sheriffbot@chromium.org, Jul 12

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Status: WontFix (was: Untriaged)
Closing as WontFix as per #1 and since it's gone for quite a while without activity. If there's renewed interest in having a built-in feature for validating a stream is preexisting, we can reopen or file a new feature request. Thanks!

Sign in to add a comment