-
Notifications
You must be signed in to change notification settings - Fork 3
Feature: Client Disconnect Message #129
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
Conversation
@kalanicraig @jdanish Please try this build to see if it helps with the error reporting and drops. |
Added GZIP compression. This reduces the size of |
Added UADDR to server log. |
…ASSETS lifecycle errors.
Saves about 1 second of processing time on a graph with 500 nodes.
Saves about 1 second of processing time on a graph with 500 nodes.
This saves about 2 seconds of load time.
… render during load.
netc-lib.js reduced from 5.4MB down to 3.1MB. Gzipped is 743kb.
@jdanish I just pushed a number of performance enhancements to Slow Network Improvements
You'll need to run |
Looks great!! One bug and one minor thought that I'll log in a sec. Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
…in NodeTable and EdgeTable. This reduces NodeTable display from about 14 seconds down to 5s, with Markdown only eating up about 1.2s.
…able and EdgeTable from updating.
…d in a bad edge count referencing source/target objects instead of source/target ids.
@jdanish More fixes! NodeTable / EdgeTable Improvements
|
Thanks @benloh Unfortunately, I am getting a compile error? It looks like the prior function was not closed but I wanted to make sure there wasn't something else? 20:55:50 - error: Compiling of app/view/netcreate/components/EdgeTable.jsx failed. L425:27 Unexpected token, expected ;
|
@jdanish Ack! Apologies. I missed committing a line because I thought it was just an empty line, but of course it had a paren. Should be up now. |
@jdanish Just checking in on the testing. If this seems to work well, I'd like to merge this and tag it 1.3.1. |
Sounds like it is looking good, so let’s do it!
FYI. Some students are still seeing blank screens and we are struggling to get enough information to figure out why. So we are assuming it’s not your problem (though we’ll log it if we do figure out why).
Our short-term next-step fix is to suggest they use IUAnyWare (https://uits.iu.edu/iuanyware <https://uits.iu.edu/iuanyware>) a virtualization client where I have confirmed they can run chrome and Net.Create works great via that install. So that’s going to be our short-term solution until we get more info.
|
Created, Updated, Revision Handling and Table Filter Fixes
Problem
Kalani reported:
We’re getting lots of server disconnect errors from students who seem to have reasonable internet connections. Is there a way to extend the disconnect-ping timing so that students are less likely to get errors when there’s a slow connection, they can still make changes?
Class total is 150 students (not all at one time; the most I’ve seen in Google Analytics is 10-15). Most are in dorms or hotels (the latter of which is an issue for speed purposes), but it shouldn’t be changing IP addresses mid-session. It seems more like a ping time out, the way it’s been described.
Issues that students have reported in basic categories:
Finally, there are some duplicate nodes appearing, which I think are probably related to server disconnects (5 or 6 “Justinian” nodes showing up, for instance, though I’ve cleaned those up).
Solution
This pull request does 4 things:
Extend the wait time for heartbeats. Both the server and the client will wait for 10 seconds before declaring a disconnect. Heartbeats should be generated by the server every 5 seconds, so this gives us a large window.
Show a specific "Client Disconnect" or "Server Disconnect" with a timestamp error for users.
"Client Disconnected" -- Client did not receive a "ping" heartbeat from the server within the time allowed. Usually this is a result of the client losing the internet connection.
"Server Disconnected" -- Either the server shut down, or the server did not receive a "pong" response from the client within the time allowed. Usually this is a result of the server initiating the disconnect as it shuts down.
11:30:39 tacitus SRV-NET - UADDR_02 pong not received before time ran out -- CLIENT CONNECTION DEAD!
This isn't a perfect solution but perhaps it'll give us a little more information about what's going on.
To Test
git checkout dev-bl/net-debug
npm run dev
||./nc.js --dataset=xxxx
ctrl-c
on the server to stop the server.