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

Issue 716051 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner: ----
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

auth cache test flake on Windows

Project Member Reported by d...@chromium.org, Apr 27 2017

Issue description

Just reporting a test flake that I observed recently:

  * e:/b/swarm_slave/w/ir/kitchen-workdir/infra/go/src/github.com/luci/luci-go/common/auth/internal/proc_cache_test.go 
  Line 115:
  Expected: nil
  Actual:   'rename C:\Users\CHROME~2\AppData\Local\Temp\disk_token_cache259112295\creds.json423451645 C:\Users\CHROME~2\AppData\Local\Temp\disk_token_cache259112295\creds.json: Access is denied.'


(Probably due to known filesystem contention issues on Windows.)
 
Yep :( It intentionally tests highly concurrent access with real file system, since on Windows it is weird. The chance of it failing depends on these parameters: https://github.com/luci/luci-go/blob/master/common/auth/internal/proc_cache_test.go#L88

We can either tweak them to reduce the probability of failure, or disable the test. Mocking file system or making it deterministic defeats the purpose of the test.

Comment 2 by d...@chromium.org, Apr 27 2017

Would a rename/retry loop work, like we do in other contexts?
This test _tests_ rename/retry loop (see https://github.com/luci/luci-go/blob/master/common/auth/internal/disk_cache.go#L180). Turns out it craps out a lot on Windows under contention. That's the primary reason this test exists: to verify stuff still works even in presence of Windows weird errors.

Comment 4 by d...@chromium.org, Apr 27 2017

o lol

Comment 5 by d...@chromium.org, Apr 27 2017

Could we make it so that transient errors after retry return nil?
https://github.com/luci/luci-go/blob/master/common/auth/internal/disk_cache.go#L214

if errors.IsTransient(err) {
  return nil
}
return err

---

Alternatively, we could move this logic into the unit test and have it not fail on transient.

Comment 6 by estaab@chromium.org, Jun 21 2017

Status: Available (was: Untriaged)
Project Member

Comment 7 by sheriffbot@chromium.org, Jun 21 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
Status: WontFix (was: Untriaged)

Sign in to add a comment