Comments (4)
Timeout now passed through on connect (glassdb/glass@7ec66c5)
from zinc.
@dalehenrich We applied this patch in a 3.1.0.6 extent but I'm getting some weird experimental timings. If we pass 30s to the ZnClient
(which is 30000ms passed to the GsSocket
timeout parameter), it goes way over 60s. If I set the timeout to 3s, it eventually times out after 8s. For a declared timeout of 5s, it takes over 10s to timeout.
Looking at the code, this is because GSSocket>>connectTo:on:timeoutMs:
has a loop where the given timeout value is passed to writeWillNotBlockWithin:
, eventually waiting multiple times for the timeout.
I would expect the entire ZnClient connection to timeout after the given value, but now it takes the value multiplied by the length of the addrList
variable.
from zinc.
Not sure what the right solution for this is. If I understand correctly, each network interface on the machine gets tried with the specified timeout. It does not seem a good idea to wait for timeoutMs / addrList size
:)
from zinc.
Then again... it seems that's the way curl deals with these situations: http://curl.haxx.se/mail/lib-2014-11/0164.html
Or at least they did.... they apply a different distribution of the timeouts but the overall idea remains to divide the timeouts over the possible addresses.
from zinc.
Related Issues (20)
- Port to 3.7.0 HOT 5
- document ZnGemServer examples
- NeoJSON loads from master and not from gs_master ? HOT 1
- create GsApplicationTools v1.0.0 compatible gem server HOT 1
- configuration error ... apparently the base WebSocket support classes are not brought in HOT 1
- Inifinite loop in ZnNewGemServer >> basicServerOn: HOT 1
- TransientStackValue incorrectly used ... leads to MNU HOT 9
- ECONNABORTED during ZnClient>>get: HOT 2
- Port Zodiac to GemStone HOT 1
- Bring Zodiac extension calls to GsSocket into Zinc and perhaps let SocketStream go?
- SocketStreamSocket>>waitForConnectionFor:ifTimedOut: doesn't time out ...
- How can we avoid recording empty HTTP requests to object log as errors? HOT 2
- Can not load ZincHTTPComponents-REST any more ???? Configuration error ? HOT 1
- add 3.5.0 to lineup
- ZnEntityWriterTests >> testGzippedAndChunked failing for GemStone 3.5.0
- travis regression: ZnClientTests>>testGetGeoIP
- Update (currently failing) ZnHTTPSTests>>testRequestResponse to match current Pharo implementation
- New test failure showing up for 3.6.1 HOT 1
- http://www.websocket.org/ no longer available?
- `http://gforge.inria.fr/frs/?group_id=1299` is returning a 403 response in ZnHTTPSTests>>testGForceInria HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from zinc.