[Checkins] SVN: gocept.zeoraid/trunk/src/gocept/zeoraid/ removed
compatibility code for a zodb problem that we fixed.
Christian Theune
ct at gocept.com
Thu Jan 31 08:31:31 EST 2008
Log message for revision 83333:
removed compatibility code for a zodb problem that we fixed.
Changed:
D gocept.zeoraid/trunk/src/gocept/zeoraid/compatibility.py
U gocept.zeoraid/trunk/src/gocept/zeoraid/datatypes.py
U gocept.zeoraid/trunk/src/gocept/zeoraid/interfaces.py
U gocept.zeoraid/trunk/src/gocept/zeoraid/storage.py
U gocept.zeoraid/trunk/src/gocept/zeoraid/tests/test_basics.py
-=-
Deleted: gocept.zeoraid/trunk/src/gocept/zeoraid/compatibility.py
===================================================================
--- gocept.zeoraid/trunk/src/gocept/zeoraid/compatibility.py 2008-01-31 13:21:04 UTC (rev 83332)
+++ gocept.zeoraid/trunk/src/gocept/zeoraid/compatibility.py 2008-01-31 13:31:31 UTC (rev 83333)
@@ -1,60 +0,0 @@
-# vim:fileencoding=utf-8
-# Copyright (c) 2007 gocept gmbh & co. kg
-# See also LICENSE.txt
-# $Id$
-"""Compatibility layers."""
-
-import zope.interface
-import zope.component
-import zope.proxy
-import zope.proxy.decorator
-
-import ZODB.utils
-import ZODB.FileStorage
-import ZEO.ClientStorage
-
-import gocept.zeoraid.interfaces
-import gocept.zeoraid.utils
-
-
-class ClientStorage38(zope.proxy.decorator.SpecificationDecoratorBase):
- """Compatibility layer for the ClientStorage of ZODB 3.8.
-
- Includes fixes for:
-
- - lastTransaction: uses the _cache incorrectly to determine the last
- transaction.
-
- """
-
- zope.component.adapts(
- ZEO.ClientStorage.ClientStorage)
- zope.interface.implements(
- gocept.zeoraid.interfaces.IRAIDCompatibleStorage)
-
- @zope.proxy.non_overridable
- def lastTransaction(self):
- lt = zope.proxy.getProxiedObject(self)._server.lastTransaction()
- if lt is None:
- lt = ZODB.utils.z64
- return lt
-
-
- at zope.interface.implementer(gocept.zeoraid.interfaces.IRAIDCompatibleStorage)
- at zope.component.adapter(ZODB.FileStorage.FileStorage)
-def make_filestorage_compatible(fs):
- zope.interface.directlyProvides(
- fs, gocept.zeoraid.interfaces.IRAIDCompatibleStorage)
- return fs
-
-
-compatibility_initialized = False
-
-
-def setup():
- global compatibility_initialized
- if compatibility_initialized:
- return
- zope.component.provideAdapter(ClientStorage38)
- zope.component.provideAdapter(factory=make_filestorage_compatible)
- compatibility_initialized = True
Modified: gocept.zeoraid/trunk/src/gocept/zeoraid/datatypes.py
===================================================================
--- gocept.zeoraid/trunk/src/gocept/zeoraid/datatypes.py 2008-01-31 13:21:04 UTC (rev 83332)
+++ gocept.zeoraid/trunk/src/gocept/zeoraid/datatypes.py 2008-01-31 13:31:31 UTC (rev 83333)
@@ -4,8 +4,6 @@
class Storage(ZODB.config.BaseConfig):
def open(self):
- # Ensure that compatibility is set up.
- gocept.zeoraid.compatibility.setup()
return gocept.zeoraid.storage.RAIDStorage(
self.name,
self.config.storages,
Modified: gocept.zeoraid/trunk/src/gocept/zeoraid/interfaces.py
===================================================================
--- gocept.zeoraid/trunk/src/gocept/zeoraid/interfaces.py 2008-01-31 13:21:04 UTC (rev 83332)
+++ gocept.zeoraid/trunk/src/gocept/zeoraid/interfaces.py 2008-01-31 13:31:31 UTC (rev 83333)
@@ -32,10 +32,3 @@
def raid_recover(name):
pass
-
-
-class IRAIDCompatibleStorage(zope.interface.Interface):
- """A compatibility layer that every (backend) storage is adapted to before
- a RAID storage works with it.
- """
- # XXX Document the implemented interfaces
Modified: gocept.zeoraid/trunk/src/gocept/zeoraid/storage.py
===================================================================
--- gocept.zeoraid/trunk/src/gocept/zeoraid/storage.py 2008-01-31 13:21:04 UTC (rev 83332)
+++ gocept.zeoraid/trunk/src/gocept/zeoraid/storage.py 2008-01-31 13:31:31 UTC (rev 83333)
@@ -24,10 +24,10 @@
import ZODB.blob
import gocept.zeoraid.interfaces
-import gocept.zeoraid.compatibility
logger = logging.getLogger('gocept.zeoraid')
+
def ensure_open_storage(method):
def check_open(self, *args, **kw):
if self.closed:
@@ -501,7 +501,6 @@
assert name not in self.storages, "Storage %s already opened" % name
storage = self.openers[name].open()
assert hasattr(storage, 'supportsUndo') and storage.supportsUndo()
- storage = gocept.zeoraid.interfaces.IRAIDCompatibleStorage(storage)
self.storages[name] = storage
def _degrade_storage(self, name, fail=True):
@@ -779,6 +778,8 @@
def _new_tid(self, old_tid):
"""Generates a new TID."""
+ if old_tid is None:
+ old_tid = ZODB.utils.z64
old_ts = persistent.TimeStamp.TimeStamp(old_tid)
now = time.time()
new_ts = persistent.TimeStamp.TimeStamp(
Modified: gocept.zeoraid/trunk/src/gocept/zeoraid/tests/test_basics.py
===================================================================
--- gocept.zeoraid/trunk/src/gocept/zeoraid/tests/test_basics.py 2008-01-31 13:21:04 UTC (rev 83332)
+++ gocept.zeoraid/trunk/src/gocept/zeoraid/tests/test_basics.py 2008-01-31 13:31:31 UTC (rev 83333)
@@ -53,8 +53,6 @@
self._storages, **kwargs)
def setUp(self):
- # Ensure compatibility
- gocept.zeoraid.compatibility.setup()
self._server_storage_files = []
self._servers = []
self._pids = []
@@ -131,9 +129,6 @@
self._storage.storages_optimal[index]]
def setUp(self):
- # Ensure compatibility
- gocept.zeoraid.compatibility.setup()
-
self._blob_dirs = []
self._servers = []
self._storages = []
@@ -266,18 +261,18 @@
self.assertEquals('failed', self._storage.raid_status())
def test_lastTransaction(self):
- self.assertEquals(ZODB.utils.z64, self._storage.lastTransaction())
- self.assertEquals(ZODB.utils.z64, self._backend(0).lastTransaction())
- self.assertEquals(ZODB.utils.z64, self._backend(1).lastTransaction())
+ self.assertEquals(None, self._storage.lastTransaction())
+ self.assertEquals(None, self._backend(0).lastTransaction())
+ self.assertEquals(None, self._backend(1).lastTransaction())
self._dostore()
lt = self._storage.lastTransaction()
- self.assertNotEquals(ZODB.utils.z64, lt)
+ self.assertNotEquals(None, lt)
self.assertEquals(lt, self._backend(0).lastTransaction())
self.assertEquals(lt, self._backend(1).lastTransaction())
def test_lastTransaction_degrading(self):
self._disable_storage(0)
- self.assertEquals(ZODB.utils.z64, self._storage.lastTransaction())
+ self.assertEquals(None, self._storage.lastTransaction())
self._disable_storage(0)
self.assertEquals('failed', self._storage.raid_status())
self.assertRaises(gocept.zeoraid.interfaces.RAIDError,
More information about the Checkins
mailing list