[Checkins] [zopefoundation/ZEO] da2e22: Refactord the server to be single-threaded to make...

GitHub noreply at github.com
Sun Jun 26 16:52:45 CEST 2016


  Branch: refs/heads/ssl
  Home:   https://github.com/zopefoundation/ZEO
  Commit: da2e22814d94d458e797fbf8f3ab97e2dd37d8e6
      https://github.com/zopefoundation/ZEO/commit/da2e22814d94d458e797fbf8f3ab97e2dd37d8e6
  Author: Jim Fulton <jim at zope.com>
  Date:   2016-06-26 (Sun, 26 Jun 2016)

  Changed paths:
    M src/ZEO/StorageServer.py
    R src/ZEO/acceptor.py
    A src/ZEO/asyncio/mtacceptor.py
    M src/ZEO/asyncio/server.py
    M src/ZEO/asyncio/testing.py
    M src/ZEO/tests/testZEO.py
    M src/ZEO/tests/testssl.py

  Log Message:
  -----------
  Refactord the server to be single-threaded to make SSL work on Linux

SSL didn't work on Linux because of an incompatibility between
non-blocking sockerts and SSL (which wasn't an issue on Mac OS X for
some reason).

I decided to try switching the server to use a single thread.  This
led to a performance improvement for zodbshootout and a lower-level
networking test.  I refactored the server listening logic and kept (at
least for now) both the multi-threaded and the single-threaded
version. (The multi-threaded logic can be used by changing a single
import. Tests pass with both.).

I'm a bit worried about the asyncio server. See

  http://bugs.python.org/issue27386

Tests appear to be less stable using asyncio.server on my Mac. :(




More information about the checkins mailing list