New issue
Advanced search Search tips

Issue 863258 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

buildbucket v2 nested step names contain duplicate information

Project Member Reported by mknyszek@google.com, Jul 13

Issue description

When making a buildbucket v2 request with the steps field, the step names are displayed as step|nest|again where "|" is a nesting separator. However, recipes has its own nesting separator "." and buildbucket seems to be unaware of this at the moment.

So, for example, recipes will emit build.ninja for the nesting build -> ninja, but buildbucket will render this as build|build.ninja. It's dangerous in general to split on the "." characters however since a number of steps tend to contain them. The right solution is to probably have this nesting not done at all by recipe engine since it already nests the steps according to the annotations proto but instead have this be part of the functionality of buildbucket (as it already is).

Example: https://cr-buildbucket.appspot.com/rpcexplorer/services/buildbucket.v2.Builds/SearchBuilds?request={%20%20%20%20%22predicate%22:%20{%20%20%20%20%20%20%20%20%22builder%22:%20{%20%20%20%20%20%20%20%20%20%20%20%20%22project%22:%20%22fuchsia%22,%20%20%20%20%20%20%20%20%20%20%20%20%22bucket%22:%20%22ci%22,%20%20%20%20%20%20%20%20%20%20%20%20%22builder%22:%20%22garnet-x64-debug-qemu_kvm%22%20%20%20%20%20%20%20%20}%20%20%20%20},%20%20%20%20%22fields%22:%20%22builds.*.steps%22,%20%20%20%20%22page_size%22:%201}
 
Components: Infra>Platform>Milo>LUCI
Summary: buildbucket v2 nested step names contain duplicate information (was: buildbucket v2 steps contain duplicate information)
the problem happens somewhere in kitchen level or below. For build
https://ci.chromium.org/p/fuchsia/builders/luci.fuchsia.ci/garnet-x64-debug-qemu_kvm/b8940681991802680304
the task log contains

substep: <
    step: <
      name: "ensure_jiri"
      status: SUCCESS
      substep: <
        step: <
          name: "ensure_jiri.ensure_installed"
          status: SUCCESS
          stdout_stream: <
            name: "steps/ensure_jiri/0/steps/ensure_installed/0/stdout"
          >
          started: <
            seconds: 1531898259
            nanos: 41156629
          >
          ended: <
            seconds: 1531898259
            nanos: 512121636
          >
          other_links: <
            label: "json.output"
            logdog_stream: <
              name: "steps/ensure_jiri/0/steps/ensure_installed/0/logs/json.output/0"
            >
          >
        >
      >


note "ensure_jiri.ensure_installed". It should have been "ensure_installed" inside "ensure_jiri".
the @@@ANNOTATIONS@@ seems correct: https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket.appspot.com/8940681991802680304/+/stdout

i've found old BigQuery rows with this bug. Looks like an annotee bug.

Components: -Infra>Platform>Milo>LUCI
Labels: -Pri-3 Pri-1
Owner: no...@chromium.org
Status: Assigned (was: Untriaged)
Cc: vadimsh@chromium.org
FYI this will require a kitchen deployment too
Status: WontFix (was: Assigned)
hm, no, annotee and buildbucket behavior is correct here. It is the annotation stream is undesired, probably because this protocol is confusing. STEP_NEST_LEVEL definition from https://chromium.googlesource.com/chromium/tools/build/+/36b69c9873f44b315d24cbb613443d3f191c692b/scripts/master/chromium_step.py#561

  @@@STEP_NEST_LEVEL@<level>@@@
  Set the nesting level of the current step. Steps at level n are assumed to
  be nested under the most recent step of level n-1.

which means the periods in step name has nothing to do with the hierarchy. Those substeps are actually called "foo.bar" under "foo" instead of just "bar". I think they should be just "bar", but that will probably break milo presentation because it cannot properly display step hierarchy...

i have to WontFix this because buidbucket and kitchen behaviors are correct
Cc: -vadimsh@chromium.org iannucci@chromium.org no...@chromium.org
Components: -Infra>Platform>Buildbucket Infra>Platform>Recipes
Labels: -Pri-1 Pri-2
Owner: ----
Status: Available (was: WontFix)
or rather let me move this to recipes. I assume ensure_jiri step is using recipes to produce those annotations, so I assume it is a bug in recipes.

I failed to find code that emits ensure_jiri step. Is it indexed by codesearch?

p2 because it is not new.
Cc: iannu...@google.com
Cc: -iannucci@chromium.org

Sign in to add a comment