Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(94)

Issue 2320313003: Revert of Remove obsolete QUIC disabling code. (Closed)

Created:
4 years, 3 months ago by the real yoland
Modified:
4 years, 3 months ago
CC:
chromium-reviews, cbentzel+watch_chromium.org, eroman, arv+watch_chromium.org, mmenke
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Revert of Remove obsolete QUIC disabling code. (patchset #4 id:60001 of https://codereview.chromium.org/2318053004/ ) Reason for revert: Failure: https://build.chromium.org/p/chromium/builders/Android/builds/61986 which caused the chromium tree to be closed Original issue's description: > Remove obsolete QUIC disabling code. > > No longer disable QUIC based on public resets post handshake or packet loss during the handshake. Also remove the "k of n" tracking and per-port disablement. > > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation > > Committed: https://crrev.com/1c1aa05eaa6b2a04c51e175ed76b5c6f810ff0aa > Cr-Commit-Position: refs/heads/master@{#417677} TBR=eroman@chromium.org,ckrasic@chromium.org,ianswett@chromium.org,rch@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1410 lines, -57 lines) Patch
M chrome/browser/resources/net_internals/quic_view.html View 1 chunk +1 line, -1 line 0 comments Download
M components/network_session_configurator/network_session_configurator.cc View 2 chunks +30 lines, -0 lines 0 comments Download
M components/network_session_configurator/network_session_configurator_unittest.cc View 2 chunks +26 lines, -0 lines 0 comments Download
M net/http/http_network_session.h View 2 chunks +9 lines, -0 lines 0 comments Download
M net/http/http_network_session.cc View 6 chunks +20 lines, -1 line 0 comments Download
M net/http/http_stream_factory_impl_job.cc View 2 chunks +4 lines, -3 lines 0 comments Download
M net/http/http_stream_factory_impl_job_controller.cc View 2 chunks +6 lines, -3 lines 0 comments Download
M net/http/http_stream_factory_impl_unittest.cc View 1 chunk +64 lines, -0 lines 0 comments Download
M net/log/bounded_file_net_log_observer_unittest.cc View 2 chunks +6 lines, -1 line 0 comments Download
M net/quic/chromium/quic_chromium_client_session.h View 3 chunks +15 lines, -0 lines 0 comments Download
M net/quic/chromium/quic_chromium_client_session.cc View 4 chunks +6 lines, -1 line 0 comments Download
M net/quic/chromium/quic_stream_factory.h View 6 chunks +56 lines, -8 lines 0 comments Download
M net/quic/chromium/quic_stream_factory.cc View 8 chunks +186 lines, -13 lines 0 comments Download
M net/quic/chromium/quic_stream_factory_test.cc View 10 chunks +950 lines, -23 lines 0 comments Download
M net/quic/test_tools/quic_stream_factory_peer.h View 2 chunks +8 lines, -1 line 0 comments Download
M net/quic/test_tools/quic_stream_factory_peer.cc View 2 chunks +19 lines, -2 lines 0 comments Download
M net/url_request/url_request_context_builder.cc View 1 chunk +4 lines, -0 lines 0 comments Download

Messages

Total messages: 5 (2 generated)
the real yoland
Created Revert of Remove obsolete QUIC disabling code.
4 years, 3 months ago (2016-09-09 20:40:33 UTC) #2
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2320313003/1
4 years, 3 months ago (2016-09-09 20:41:10 UTC) #3
commit-bot: I haz the power
4 years, 3 months ago (2016-09-09 20:41:54 UTC) #5
Failed to apply patch for net/http/http_network_session.cc:
While running git apply --index -3 -p1;
  error: patch failed: net/http/http_network_session.cc:65
  error: repository lacks the necessary blob to fall back on 3-way merge.
  error: net/http/http_network_session.cc: patch does not apply

Patch:       net/http/http_network_session.cc
Index: net/http/http_network_session.cc
diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
index
a4c1913950f22ea0043739f92f5ffb317a66c5b3..b7993218f215447b3eb4d660bc8d6e635e0826c7
100644
--- a/net/http/http_network_session.cc
+++ b/net/http/http_network_session.cc
@@ -65,6 +65,11 @@
 // that seems large enough to receive data at line rate for most connections,
 // and does not consume "too much" memory.
 const int32_t kQuicSocketReceiveBufferSize = 1024 * 1024;  // 1MB
+
+// Number of recent connections to consider for certain thresholds
+// that trigger disabling QUIC.  E.g. disable QUIC if PUBLIC_RESET was
+// received post handshake for at least 2 of 20 recent connections.
+const int32_t kQuicMaxRecentDisabledReasons = 20;
 
 HttpNetworkSession::Params::Params()
     : client_socket_factory(NULL),
@@ -101,6 +106,8 @@
       quic_enable_non_blocking_io(false),
       quic_disable_disk_cache(false),
       quic_prefer_aes(false),
+      quic_max_number_of_lossy_connections(0),
+      quic_packet_loss_threshold(1.0f),
       quic_socket_receive_buffer_size(kQuicSocketReceiveBufferSize),
       quic_delay_tcp_race(true),
       quic_max_server_configs_stored_in_properties(0u),
@@ -110,6 +117,9 @@
       enable_user_alternate_protocol_ports(false),
       quic_crypto_client_stream_factory(
           QuicCryptoClientStreamFactory::GetDefaultFactory()),
+      quic_max_recent_disabled_reasons(kQuicMaxRecentDisabledReasons),
+      quic_threshold_public_resets_post_handshake(0),
+      quic_threshold_timeouts_streams_open(0),
       quic_close_sessions_on_ip_change(false),
       quic_idle_connection_timeout_seconds(kIdleConnectionTimeoutSeconds),
       quic_reduced_ping_timeout_seconds(kPingTimeoutSecs),
@@ -169,6 +179,11 @@
           params.quic_enable_non_blocking_io,
           params.quic_disable_disk_cache,
           params.quic_prefer_aes,
+          params.quic_max_number_of_lossy_connections,
+          params.quic_packet_loss_threshold,
+          params.quic_max_recent_disabled_reasons,
+          params.quic_threshold_public_resets_post_handshake,
+          params.quic_threshold_timeouts_streams_open,
           params.quic_socket_receive_buffer_size,
           params.quic_delay_tcp_race,
           params.quic_max_server_configs_stored_in_properties,
@@ -321,6 +336,9 @@
                    params_.quic_enable_connection_racing);
   dict->SetBoolean("disable_disk_cache", params_.quic_disable_disk_cache);
   dict->SetBoolean("prefer_aes", params_.quic_prefer_aes);
+  dict->SetInteger("max_number_of_lossy_connections",
+                   params_.quic_max_number_of_lossy_connections);
+  dict->SetDouble("packet_loss_threshold", params_.quic_packet_loss_threshold);
   dict->SetBoolean("delay_tcp_race", params_.quic_delay_tcp_race);
   dict->SetInteger("max_server_configs_stored_in_properties",
                    params_.quic_max_server_configs_stored_in_properties);
@@ -335,7 +353,8 @@
                    params_.quic_disable_preconnect_if_0rtt);
   dict->SetBoolean("disable_quic_on_timeout_with_open_streams",
                    params_.disable_quic_on_timeout_with_open_streams);
-  dict->SetBoolean("is_quic_disabled", quic_stream_factory_.IsQuicDisabled());
+  dict->SetString("disabled_reason",
+                  quic_stream_factory_.QuicDisabledReasonString());
   dict->SetBoolean("force_hol_blocking", params_.quic_force_hol_blocking);
   dict->SetBoolean("race_cert_verification",
                    params_.quic_race_cert_verification);

Powered by Google App Engine
This is Rietveld 408576698