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

Issue 665049 link

Starred by 2 users

Issue metadata

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



Sign in to add a comment

Detect forward or backward DEPS rolling by checking logs between two git hashes

Project Member Reported by st...@chromium.org, Nov 14 2016

Issue description

Currently we use commit timestamps to check the direction of DEPS rolling. But infra is gonna to change gnumbd and commit timestamp is not guaranteed to be increase.

Thus we should make the switch.
 

Comment 1 by st...@chromium.org, Nov 14 2016

Issue 665072 has been merged into this issue.

Comment 2 by st...@chromium.org, Nov 14 2016

The solution is to check logs between two git hashes OLD_HASH..NEW_HASH : empty -> backward rolling; not empty -> forward rolling.

But for v8, this won't work because V8 revisions which are referenced by Chromium's DEPS are not from master branch.
V8 and WebRTC have commit position footers produced by gnumbd, so we should check those instead.

Cc: borenet@chromium.org
Note that this might not work not just for v8. It really depends whether commits being rolled to are from the same branch or not. For example, I have no idea about skia, catapult and pdfium which all use the same deps roller logic. Perhaps ask borenet@

Comment 4 by bore...@google.com, Nov 15 2016

Sorry, I'm not aware of the context here.  The skia/catapult/nacl/pdfium rollers don't roll backwards and only roll commits on the master branch, so the logic is basically:

git log <last roll rev>..origin/master

Timestamps never enter the picture. Is this for a new roller?  If so, why not use the Skia roller?
you've answered my question :)
Since you only roll commits from master branch, then git log will indeed be sufficient as one commit will always be parent of another one (transitively).

Comment 6 by st...@chromium.org, Nov 15 2016

Thanks borenet@ and tandrii@!

The context here is to detect whether a roll is forward or backward for an arbitrary dependency in DEPS. For those rollers, they are rolling forward; but upon a revert of the rolling CL (e.g. to fix breakage), it is backward.

This detection is needed for Findit to analyze test or compile failures on Waterfall and then infer the culprits.

Comment 7 by wrengr@chromium.org, Nov 15 2016

@stgao, can we not look at the CL itself like we already do for detecting whether a CL is reverting another or not? Or is there no clean mapping from rolls to CLs?

Comment 8 by st...@chromium.org, Nov 16 2016

wrengr@, I'm not sure if I understand your question/suggestion correctly.

The new approach I described above is to not look at the information of individual commit; but instead checking whether a commit is a parent of another. And this won't work for V8 as suggested by tandrii@. And the solution is to look at the commit position footer.

When mapping a DEPS rolling to the commits of that rolled dependency, we just grab the changelogs between the two commits referred to by the DEPS file.

Comment 9 by st...@chromium.org, Apr 24 2017

Cc: -wrengr@chromium.org
Labels: effort-medium analysis
Project Member

Comment 10 by sheriffbot@chromium.org, Apr 25 2018

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

Sign in to add a comment