[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