New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Huge problems with serving bigger site with SPDY #123
Comments
It seems batch.js is cut in most cases. |
Are you using spdy client? |
All errors that you've pasted here are happening in |
Of course SPDY client, otherwise HTTPS would run (and HTTPS works fine) Firefox seems to work most badly: https://jira-nowaker.atlashost.eu:8443/secure/Dashboard.jspa Browsers work well with Google services (which run on SPDY), HTTPS works otherwise fine so the only other thing in equation is SPDY or otherwise its relation to Node. |
@RushPL I meant node-spdy SPDY client, not Chrome's or Firefox's. |
https://gist.github.com/RushPL/8146032 Requests do fail when running https://localhost:40443 Try changing I have not tried node-spdy client since it needs many concurrent requests for the test to make sense. |
@RushPL I fixed I.e. it terminates connection if the server is sending response before the client has finished sending body. You can fix it in your code by waiting for Unfortunately, this doesn't seem to be something that should be fixed on a node-spdy side. I've contacted chromium guys and will try to resolve issue with them. (Also it seems to be working fine in firefox for me) |
Here is a chromium issue link for your reference: https://code.google.com/p/chromium/issues/detail?id=330860&thanks=330860&ts=1388159295 |
Well, I suggest re-opening the issue until google chrome fixes it because for all practical purposes all parties should make an effort to make a protocol work. Problem is that node-spdy is unusable in Chrome which is a major problem - and hence still an open issue. Every client and every server has some "quirks" and parties often meet in the middle. It is my understanding that whatever works with About firefox - I am sure there is still some major problem, I will try to update the test case. |
Well, I'm against reopening this issue and working at around for chromium. Fixing it will introduce major problems for some active node-spdy users that I'm currently consulting. In my opinion - no hacks in node-spdy just to make non-standard compliant clients works. Even if they are popular clients. Anyway, considering their release process we may get working chrome version quite soon, if they'll consider working on fixing that issue. |
I want to follow up on the Firefox (version 26.0) problem: Please notice small request size - firefox is not processing the requests properly: https working well, 5.1MB requests: |
If that's Chromium problem, then I agree working it around is not a good idea. However, I'd still suggest to open this issue and rename to something like "resources sometimes don't load in Chromium", and keep it open as long as it's not fixed in Chromium. node-spdy users would know in advance that node-spdy should not be used yet when visitors are going to use Chromium. Also, doing so could prevent possible duplicates from being reported. |
@RushPL can you please try updating to the latest spdy version? I pushed several fixes recently. |
1.17.19 |
Just tried the latest also getting
which is probably why the POST never runs and payload is so small
Anything I may be missing? |
Just tried 1.17.19. Firebug console is green on my side, but the response is not what we expect ( Happens both in:
|
I am using node-git from master, built moments ago. |
how is it related to I'm using Firefox 26 and it seems to be fine here too... |
Also, spdy@1.17.19 has explicit check for presence of If you have time - may I ask you to try patching your local node-spdy version (in node_modules) and adding |
There you go. https://wklej.stratushost.eu/hash/f355d7174d8/ |
I totally removed those AJAX requests from the minimal code. They are not needed to get req.method == null. I changed your code this way:
The output:
This could lead to a conclusion that |
Indeed, may I ask you to long |
Sure thing! Updated test case: https://gist.github.com/Nowaker/8149829/raw/bd8b49a4bd76ee21a735eb936603b91d4405eed0/spdyMultiplePostsPerRequests.js Output:
Changed your code to:
Output:
Still not here :) |
Oh, I know what's happening one sec. It is a new node.js 0.11 thing :P |
Thank you, fixed! What about this issue? |
Oh wait, it wasn't fixed... I think I need to patch node.js first haha :P |
Yeah, just wanted to tell you my GET turned out to be PUT. xD |
Yeah yeah, I know. Please try spdy@1.17.21 |
Indeed, 21 is OK now. Let me install it in production at https://jira-nowaker.atlashost.eu:8443/secure/Dashboard.jspa. |
Works in production. Thank you very much for digging into it! So what's only left is Chromium issue, right? |
Right. |
I see the Chromium devs have fixed the issue - thanks for the great help Fedor. Do you think that there is a possibility to conditionally enable SPDY after certain Chromium version? Do you even have such version information at the moment of doing NPN? I am sceptical about this but I would like to enable SPDY by default only to 100% correctly behaving clients. |
No, I'm afraid this is not possible. |
@RushPL does it still happens to you on a newer Chrome? |
Seems good to me! I'd like @Nowaker to try it as well and if it's good we'll close the issue. |
I have enabled SPDY for my private JIRA and it seems okay on my Chrome 34. I will still refrain from enabling SPDY for all AtlasHost customers as some may have not yet updated their browsers... but I will enable it later this year. Thanks @indutny for your help. |
Firstly, I am using node 0.11.9 (will try git) and node-http-proxy#caronte to get the content. I am sure it works all right, I have no problems with it with ordinary https or http. However with node-spdy it seems that the data is being cut in the middle of some requests. Firebug shows lots of requests and aborted and Chrome seems to work a bit better, but flawed as well. While running into problems I get few types of exceptions. I will try to make some "minimal" testcase but I would like to know your opinion as soon as you could give one.
This is the url being run with node-spdy: https://jira-nowaker.atlashost.eu:8443/secure/Dashboard.jspa <- with Firefox it is most apparent and with Chrome it sometimes requires a few refreshes
After testing with git version I get only this exception (but SPDY works as badly as before):
The text was updated successfully, but these errors were encountered: