Re: Backward compatibility (was Re: Announcing Newt DB, the amphibious database)
"David Glick (Glick Software)" <[email protected]>
| Newsgroups | gmane.comp.web.zope.zodb |
|---|---|
| Message-ID | <[email protected]> |
On 2/23/17 10:25 AM, Jim Fulton wrote: > > > On Thu, Feb 23, 2017 at 12:05 PM, David Glick (Glick Software) > <[email protected] <mailto:[email protected]>> wrote: > > On 2/23/17 5:55 AM, Jim Fulton wrote: >> >> >> On Thu, Feb 23, 2017 at 8:46 AM, Jason Madden >> <[email protected] >> <mailto:[email protected]>> wrote: >> >> >> > On Feb 23, 2017, at 07:37, Mike Metcalfe >> <[email protected] <mailto:[email protected]>> wrote: >> > >> > I'm trying to create a local instance with RelStorage but >> getting version/pinning issues when running buildout in a >> plone 4.3.10 instance. So far I've pinned: >> > transaction = 2.1.0 >> > relstorage = 2.1a1 >> > >> > With these pins the buildout completes successfully but now >> I cannot start the client, I get: >> > File >> "/home/mike/instances/sqltlm/buildout-cache/eggs/RelStorage-2.1a1-py2.7-linux-x86_64.egg/relstorage/_compat.py", >> line 82, in <module> >> > from ZODB._compat import BytesIO >> > ImportError: No module named _compat >> > >> > I'll keep going but do you (or anyone else) have a KGV dev >> buildout for plone 4.3.x? >> >> Plone 4.x requires ZODB3 and hence RelStorage 1.6. Initially >> this was due to changes in BTrees 4, but that reason is no >> longer applicable. It *may* be possible to get Plone 4.x to >> work with ZODB 5 and RelStorage 2, but you'd be in uncharted >> waters. The official work to make that happen is going on in >> Plone 6: https://www.starzel.de/blog/towards-plone-6 >> <https://www.starzel.de/blog/towards-plone-6> >> >> >> Oh man, I keep forgetting about this, because... ZODB3. Really? >> I gather ZODB3 is what debian distributes as well. >> >> Of course, I get that this may be due to the BTree issue. I'm >> disappointed that this wasn't escalated years ago. (It may have >> been and I didn't appreciate it, but this is a major issue, >> people should have pushed this.) >> >> So when I say newt works with Plone, I'm wrong because of this >> issue. whimper. >> >> It would be really great of current stable plone used current >> stable ZODB and RelStorage. I wonder what that would take. > > Yeah, I think we got hung up on the None-in-BTree issue, and > misunderstanding that that was a limitation forced by supporting > Python 3 rather than just a policy choice which we could push for > changing. > > Plone 6 will support latest stable ZODB; it already does on the > Zope 4 compatibility branch which has all tests passing. > > Supporting ZODB 5 in Plone 5 would require a new Zope 2.13.x > release that handles transaction notes as unicode when transaction > 2.x is present but as bytes when transaction 1.x is present (for > backwards-compatibility within the minor release). Or a way to > tell transaction which sort of string to use in its note interface. > > > If the transaction package was changed to accept and issue a > deprecation warning when it got bytes, would that allow current stable > Plone to use current stable ZODB and RelStorage? I think so. I'll hedge my bets and say it would let us run the tests and see if there's anything else that needs attention. > On a personal level, it's disheartening to /realize/ (I should have > know, but) that after all the work I've put into ZODB over the past > several months (well, several years actually, but especially the past > few months), none of it benefits most current ZODB users. I don't say > this to complain, but to let y'all know that you aren't doing us any > favors by letting us break things. It may not benefit current ZODB users *now*, but I hope that we'll benefit soon! And, fair point about communicating better when we find things that break us. We are catching up on a backlog of updates to upstream packages, and we could do a better job of reviewing proposals and testing releases in a timely manner. (It'd be cool if we had CI infrastructure to automatically run our tests with new upstream releases when they are made. We use https://pyup.io/ on one project and it is helpful for this, but would require some modification for Plone's multi-repository structure.) -- You received this message because you are subscribed to the Google Groups "zodb" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.