[Zope-Checkins] CVS: Zope/lib/python/Products/Transience/dtml - addTransientObjectContainer.dtml:1.8 manageTransientObjectContainer.dtml:1.8

Chris McDonough chrism@zope.com
Wed, 21 Nov 2001 17:47:07 -0500


Update of /cvs-repository/Zope/lib/python/Products/Transience/dtml
In directory cvs.zope.org:/tmp/cvs-serv11583/dtml

Modified Files:
	addTransientObjectContainer.dtml 
	manageTransientObjectContainer.dtml 
Log Message:
Moved TransientObjects into their own module.

Removed wrap_with argument from new and new_or_existing methods
of Transient Data Containers.

Removed delete method of Transient Data Containers.

Added out-of-memory protection to Transient Data Containers.  A
  new __init__ value ('limit') is used to specify the max number
  of objects that can be contained within a transient data container.
  A new envvar ZSESSION_OBJECT_LIMIT can be used to control the
  limit of the default session_data TDC.  Also updated help and
  API docs with this change.

Added a new exception, MaxTransientObjectsExceeded, which is raised
  when the OOM protection kicks in.

Various implementation changes including the use of a BTrees Length
  object to store Transient Data Container length info as well
  as improvements to how buckets are expired.

Addition of tests for OOM protection fatures.



=== Zope/lib/python/Products/Transience/dtml/addTransientObjectContainer.dtml 1.7 => 1.8 ===
   <TD ALIGN="LEFT" VALIGN="TOP">
     <div class="form-label">
+      Maximum number of subobjects
+   </div>
+    <div class="form-help">
+      ("0" means infinite)
+    </div>
+  </TD>
+  <TD ALIGN="LEFT" VALIGN="TOP">
+    <INPUT TYPE="TEXT" NAME="limit:int" SIZE="10" value="1000">
+  </TD>
+</TR>
+
+<TR>
+  <TD ALIGN="LEFT" VALIGN="TOP">
+    <div class="form-label">
       Script to call upon object add (optional)
    </div>
     <div class="form-help">


=== Zope/lib/python/Products/Transience/dtml/manageTransientObjectContainer.dtml 1.7 => 1.8 ===
 (the "data object timeout") after which it will be flushed.
 </p>
-
+<dtml-call nudge><!-- turn the buckets if necessary -->
 <p class="form-label">
 <font color="green">
 <dtml-let l=getLen>
@@ -52,6 +52,21 @@
   <td align="left" valign="top">
     <input type="text" name="timeout_mins:int" size=10
      value=&dtml-getTimeoutMinutes;>
+  </td>
+</tr>
+
+<tr>
+  <td align="left" valign="top">
+    <div class="form-label">
+     Maximum number of subobjects
+    </div>
+    <div class="form-help">
+      ("0" means infinite)
+    </div>
+  </td>
+  <td align="left" valign="top">
+    <input type="text" name="limit:int" size=10
+     value=&dtml-getSubobjectLimit;>
   </td>
 </tr>