Comments (3)
The description you quoted tells why:
can support Python 2 or Python 3 clients (but not both)
Why should the server restrict the Python version on the client?
from zeo.
"An advantage of using msgpack for ZEO communication is that it's a tiny bit faster and a ZEO server can support Python 2 or Python 3 clients (but not both)."
That is poorly worded. Sadly, I don't recall exactly wtf I was trying to say. :)
Currently, a ZEO server and client must be running the same major version of Python, because Pickle, used in ZEO network communication, is Python-major-version specific. So today, by default, the client and server must run the same major Python version.
Because msgpack doesn't use pickle, it doesn't have this problem.
Of course, differences in pickling also make it hard for Python 2 and Python 3 clients to cooexist, so this is somewhat moot, but perhaps not entirely moot. I can imagine well-behaved Python 2 and Python 3 clients coexisting, but I haven't tried this.
msgpqck was added mainly to enable the Rust server, https://github.com/jimfulton/byteserver, but development of the Rust server hasn't advanced. (I'd really like to get back to it at some point.)
I'd be in favor of making msgpack the default at some point if I knew there was positive experience using it in production.
from zeo.
I'd be in favor of making msgpack the default at some point if I knew there was positive experience using it in production.
My company is looking for ZEO performance those times, we may give it a try!
from zeo.
Related Issues (20)
- Add a test against ZODB master branch to GH actions
- flaky test: `drop_cache_rather_than_verify` HOT 2
- tests hard depend on deprecated mock HOT 10
- test_ssl_hostname_check and test_ssl_basic fail
- Remove possibly unused MTAcceptor feature HOT 5
- ClientStorage: race condition when used with multiple addresses HOT 4
- Potential race condition indicated by `checkConcurrentUpdates2Storages` HOT 3
- (Commit-)`LockManager` is not fair
- Should we stop testing ZEO against all ZODB storage types? HOT 2
- Multiple ZEO data corruptions due to concurrency bugs HOT 13
- zeopack exit value should not be 0 when socket is not found
- asyncio tests are responding with `None` to register call HOT 1
- Race test `check_race_external_invalidate_vs_disconnect` fails on macOS HOT 4
- Client does not retry failed connections HOT 18
- Request release for 5.x branch on PyPI HOT 3
- Python 3.12 test failures HOT 2
- Upcoming test prefix related incompatibilities with ZODB HOT 1
- Look for more Python 2 leftovers HOT 1
- Release version 6.0 HOT 2
- ZEO.Exceptions.ServerException: (‘builtins.FileNotFoundError’, (2, ‘No such file or directory’)) in Plone 6.0.7 HOT 3
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 zeo.