Log message for revision 122073:
  During startup open a connection to every configured database, to ensure all 
of them can indeed be accessed. This avoids surprises during runtime when 
traversal to some database mountpoint could fail as the underlying storage 
cannot be opened at all.
  

Changed:
  U   Zope/trunk/doc/CHANGES.rst
  U   Zope/trunk/src/Zope2/App/startup.py

-=-
Modified: Zope/trunk/doc/CHANGES.rst
===================================================================
--- Zope/trunk/doc/CHANGES.rst  2011-07-03 12:45:58 UTC (rev 122072)
+++ Zope/trunk/doc/CHANGES.rst  2011-07-03 13:07:09 UTC (rev 122073)
@@ -16,6 +16,11 @@
 Features Added
 ++++++++++++++
 
+- During startup open a connection to every configured database, to ensure all
+  of them can indeed be accessed. This avoids surprises during runtime when
+  traversal to some database mountpoint could fail as the underlying storage
+  cannot be opened at all.
+
 - Explicitly close all databases on shutdown, which ensures `Data.fs.index`
   gets written to the file system.
 

Modified: Zope/trunk/src/Zope2/App/startup.py
===================================================================
--- Zope/trunk/src/Zope2/App/startup.py 2011-07-03 12:45:58 UTC (rev 122072)
+++ Zope/trunk/src/Zope2/App/startup.py 2011-07-03 13:07:09 UTC (rev 122073)
@@ -93,6 +93,17 @@
         else:
             DB = ZODB.DB(m.Storage, databases=databases)
 
+    # Force a connection to every configured database, to ensure all of them
+    # can indeed be opened. This avoids surprises during runtime when traversal
+    # to some database mountpoint fails as the underlying storage cannot be
+    # opened at all
+    for mount, name in dbtab.listMountPaths():
+        _db = dbtab.getDatabase(mount)
+        _conn = _db.open()
+        _conn.close()
+        del _conn
+        del _db
+
     notify(DatabaseOpened(DB))
 
     Globals.BobobaseName = DB.getName()

_______________________________________________
Zope-Checkins maillist  -  Zope-Checkins@zope.org
https://mail.zope.org/mailman/listinfo/zope-checkins

Reply via email to