-
Notifications
You must be signed in to change notification settings - Fork 19
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
Add zodbpickle to server_find_global. #109
Conversation
… travis Some of the tests are being killed because we don't produce any output when running parallel tests in a layer with -v1. The amount of warnings made it hard to see real failures. Also use more recent PyPy, and test on Py 3.6 (which produces the 'async' warnings we'll use to fix #104)
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.
Thanks.
I don't recall the tests being in such bad shape. :/
Do you think we should reverse the ZODB change until this is sorted out? |
I'm 90%+ confident that this change will fix the issue with ZODB 5.4. Reviewing the build history, I don't think that change is related to the extra failures, and we're probably safe to release as-is. I may try to poke at the tests a bit more on travis and if I find anything I'll report back. |
OK, shall I make a ZEO release? |
Given that the ZODB changes break ZEO, I'd rather get the fixes out ASAP. I'm happy to release more tomorrow, or as soon as they're ready. I'll go ahead and make a ZEO release, unless you think the ZEO changes could have broken something. |
No, I don't think the ZEO change here could break anything (well, |
FWIW, it's one test, |
5.1.2 released. |
Ah, debugging this it looks like the hangs are related to #113 |
(Using the python.org installers instead of custom macports Python installers fixed the interpreter fork crash.) |
Fixes #107
I also spent time trying to understand why so many of the tests are failing. I don't have answers for all of it, but I think this puts us in a better state.
Python 2 (both CPython and PyPy) is incredibly slow. The
FileStorageTests
,FileStorageSSLTests
andBlobAdaptedFileStorageTests
can take 8 to 15 minutes each. And we run them multiple times. Since Travis kills a test if there is no output in 10 minutes, Python 2 was just getting forcibly shutdown. Remedy: increase verbosity so we get some output. Now, they still fail due to some threads being left behind, but at least they're not terminated. And we can see that the 'Connection' errors that were prevelant in the logs for UnboundLocalError: local variable #107 aren't there anymore. I'm not sure why they're so slow---the Python 2 tests with msgpack aren't.I can't directly replicate what Travis is doing: running tests in parallel on macOS results in a number of interpreter crashes (CPython 2.7.14 and 3.6.4):
It seems like we may be running way more tests on Python 2 than the other versions? I can't confirm that yet.
The ZEO4_SERVER tests still get terminated on Python 2. I don't know why there's no output.
The ZEO_MTACCEPTER tests fail on all tested versions of Python. These appear to be legit failures.
There were so many warnings about deprecations and unclosed files it was difficult to find the actual test failures, so I cleaned a large number of those up.