New issue
Advanced search Search tips

Issue 706840 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 472740
Owner: ----
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

An open SSE connection stalls other requests to the same resource when caching is enabled

Reported by victor.n...@gmail.com, Mar 30 2017

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0

Steps to reproduce the problem:
I am developing an angular 4 application, i.e. using the angular http component to make http requests, but I think the problem is really at the level of making HTTP requests by Chromium.

Basically, my application:
- opens a SSE connection (EventSource, i.e, a GET with accepted content type text/event-stream) to a given resource (e.g, http://localhost:8080/api/workspaces/1)
- a bit later, while the SSE connection is still open, the application does a DELETE on the exact same resource (http://localhost:8080/api/workspaces/1 with an accepted content type application/json).

I reproduced the same using the fetch API in the console like so:

// login for the record (we use http sessions)
let h = new Headers();
h.append("Content-Type", "application/json");
fetch('http://localhost:8080/api/user/session', { method: 'POST', body: "{ \"username\": \"admin\", \"password\": \"admin\" }", headers: h, credentials: "same-origin" });

// open SSE
let sse = new EventSource("http://localhost:8080/api/workspaces/2");

// delete resource
fetch('http://localhost:8080/api/workspaces/2', {method: 'DELETE', credentials: "same-origin" });

What is the expected behavior?
The DELETE simply happens as soon as it is sent

What went wrong?
The server receives the HTTP DELETE something like 20 seconds after it was emitted by the application.
The same in the network tab of the developer tools, if I look at the Timing tab of the DELETE request, I see the "Stalled" value to be exactly 20 seconds.

If I change the resource URL (e.g., http://localhost:8080/api/workspaces/1?d), it is instantaneous.

I verified with wireshark and the HTTP request is not sent at all before the ~20 seconds.

If I disable caching in the developer console networking tab, it is instantaneous.

Did this work before? N/A 

Chrome version: Version 57.0.2987.110 (64-bit)  Channel: stable
OS Version: archlinux latest
Flash Version: none

I suppose there is some kind of bad interaction between opened connection and caching…
 
Components: -Blink Blink>Network
Cc: shivanisha@chromium.org
I think this is dup of  issue 472740 .

shivanisha@, what do you think?
It indeed is a duplicate of  issue 472740  and should be resolved with CL: https://codereview.chromium.org/2721933002
Mergedinto: 472740
Status: Duplicate (was: Unconfirmed)
As per comment#3,merging this issue with #472740.Please feel free to undup if this is not similar.
Thank you!!

Sign in to add a comment