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

Issue 691078 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Feb 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature



Sign in to add a comment

Implement allow_network_changed for stale DNS experiment

Project Member Reported by mge...@chromium.org, Feb 10 2017

Issue description

The stale DNS experiment in Cronet has an "allow_network_changed" option to use stale results from other networks. It's currently not fully implemented. There's some work in place, but HostResolverImpl clears HostCache whenever the network changes, so results from previous networks are never available.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Feb 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5bb3b9d0c571ca00d511f36411a4dd06397b181f

commit 5bb3b9d0c571ca00d511f36411a4dd06397b181f
Author: mgersh <mgersh@chromium.org>
Date: Mon Feb 13 21:27:10 2017

Allow HostCache to handle network changes itself

HostCache can already expire all of its entries when the network changes
and return them only when entries from other networks are allowed. This
change makes HostResolverImpl notify HostCache on network change instead
of clearing it, and modifies the StaleHostResolver tests to simulate a
network change using NetworkChangeNotifier rather than directly
notifying HostCache so that the relevant codepath is tested. The
addition of net_java in deps is necessary to use NetworkChangeNotifier
on Android.

This change finishes implementation of the "allow_other_networks" option
in Cronet's "StaleDNS" experiment.

BUG= 691078 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_cronet_tester

Review-Url: https://codereview.chromium.org/2692043002
Cr-Commit-Position: refs/heads/master@{#450096}

[modify] https://crrev.com/5bb3b9d0c571ca00d511f36411a4dd06397b181f/components/cronet/android/BUILD.gn
[modify] https://crrev.com/5bb3b9d0c571ca00d511f36411a4dd06397b181f/components/cronet/stale_host_resolver_unittest.cc
[modify] https://crrev.com/5bb3b9d0c571ca00d511f36411a4dd06397b181f/net/dns/host_resolver_impl.cc

Comment 2 by mge...@chromium.org, Feb 13 2017

Status: Fixed (was: Assigned)
Project Member

Comment 3 by bugdroid1@chromium.org, Mar 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/92b1af1d8a6162a1a9638d02c3485363ffb60abd

commit 92b1af1d8a6162a1a9638d02c3485363ffb60abd
Author: mgersh <mgersh@chromium.org>
Date: Wed Mar 29 15:49:23 2017

Expire but don't clear HostCache on DNS config change

Before this change, HostCache entries are expired (not cleared) on IP
address changes, but the entire cache is cleared on DNS config changes.
This isn't useful because the distinction is currently only used in an
Android-specific experiment, and all network changes on Android involve
a DNS config change.

Cronet with the stale DNS experiment enabled will now use HostCache
entries from other networks if the allow_other_network option is turned
on. Chrome itself should not have any changes other than keeping more
results in cache that won't be used.

BUG= 691078 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_cronet_tester

Review-Url: https://codereview.chromium.org/2785563002
Cr-Commit-Position: refs/heads/master@{#460401}

[modify] https://crrev.com/92b1af1d8a6162a1a9638d02c3485363ffb60abd/components/cronet/stale_host_resolver_unittest.cc
[modify] https://crrev.com/92b1af1d8a6162a1a9638d02c3485363ffb60abd/net/base/network_change_notifier.cc
[modify] https://crrev.com/92b1af1d8a6162a1a9638d02c3485363ffb60abd/net/base/network_change_notifier.h
[modify] https://crrev.com/92b1af1d8a6162a1a9638d02c3485363ffb60abd/net/dns/host_resolver_impl.cc

Sign in to add a comment