New issue
Advanced search Search tips

Issue 616916 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Feature



Sign in to add a comment

Locally isolated builds workflow behaving unexpectedly

Project Member Reported by michae...@chromium.org, Jun 2 2016

Issue description

Sorry in advance for not knowing the precise terminology:

To gather performance metrics, my workflow involves building a "snapshot" of a local branch, and saving that snapshot for later use. Later, I run all tests from those snapshots sequentially.

Problem: After building and remapping an isolated browser_tests build to another directory, further builds in the original src directory cause the remapped isolated browser_tests to start failing.


    git checkout A
    gclient sync
    gn gen out_linux/Release
    ninja -C out_linux/Release browser_tests
    echo gn > out_linux/Release/mb_type
    ./tools/mb/mb.py isolate //out_linux/Release browser_tests
    ./tools/swarming_client/isolate.py remap -s \
        out_linux/Release/browser_tests.isolated -o ../A-snapshot

    # Success: "../A-snapshot/out_linux/Release/browser_tests \
    #     --gtest_filter=DownloadsBrowserTest.*" succeeds here.

    git checkout B
    ninja -C out_linux/Release browser_tests

    # Failure: The timestamp of ../A-snapshot/out_linux/Release/resources.pak
    # has been mysteriously updated. What did that?
    # "../A-snapshot/out_linux/Release/browser_tests \
    #     --gtest_filter=DownloadsBrowserTest.*" fails.


What magic is happening here, and is there an easier way to create isolated snapshots for later execution without copying the entire src directory?
 
thanks to scottmg and dpranke for discovering the problem: `isolate.py remap` creates hard links.
https://chromium.googlesource.com/chromium/tools/swarm_client/+/54f416f4038978e3f550c28332f0a21b5f6d49fc/isolate.py#2140
Cc: mar...@chromium.org
Components: -Test Infra>Platform>Swarming
Labels: -Type-Bug Type-Feature
remap is designed to be fast and relatively temporary; it is used in the android use case to create a tree of files to map on the devices. So it uses hardlinks.

I'm fine with adding a --copy flag to remap.

Comment 3 by benhenry@google.com, Jun 21 2016

Status: Assigned (was: Untriaged)
There's an owner on this bug but the status != Assigned. Fixing. If you feel you don't own this bug, please remove yourself as the owner and mark it as "Available" or "Untriaged".
Labels: -Pri-2 Pri-3
Components: Infra>Client>Chrome Build
Labels: OS-All
Cc: dpranke@chromium.org
Owner: ----
Status: Available (was: Assigned)
I'm not likely to get to this any time soon ...
Project Member

Comment 7 by sheriffbot@chromium.org, Sep 3

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
Components: -Infra>Platform>Swarming Infra>Platform>Swarming>Admin
Labels: -Hotlist-Recharge-Cold
Status: Available (was: Untriaged)

Sign in to add a comment