[elephant-cvs] CVS elephant

ieslick ieslick at common-lisp.net
Wed Feb 14 04:36:08 UTC 2007


Update of /project/elephant/cvsroot/elephant
In directory clnet:/tmp/cvs-serv32730

Modified Files:
	TODO config.sexp elephant.asd 
Log Message:
Documentation, optimizations, deadlock process, etc

--- /project/elephant/cvsroot/elephant/TODO	2007/02/12 20:36:43	1.47
+++ /project/elephant/cvsroot/elephant/TODO	2007/02/14 04:36:08	1.48
@@ -6,65 +6,72 @@
 0.6.1 - performance, safety and portability 
 --------------------------------------------
 
-ALPHA RELEASE TASKS
+TASKS TO GET TO ALPHA:
+
+Migration:
+- Validate BDB migration 0.6.0->0.6.1 (Ian)
+- Validate SQL migration 0.6.0->0.6.1 (Robert)
+- Legacy conversions issue for SQL (and BDB?) due to package rename (both)
 
-Bug and feature fixes:
-~ Resolve duplicate sorting guarantee in btree interface; currently supported 
-  by BDB but not SQL and it is not tested in the regression suite (Robert to comment)
+
+TASKS TO GET TO BETA:
 
 BDB Features/Cleanup:
-- Trace all paths to db-put or db-delete and ensure that there is a check or a 
-  default ensure-transaction around the primitive components - write a document 
-  clarifying transaction design & assumptions in the backend]
-- Determine how to detect deadlock conditions as an optional run-safe mode?
-- Automatically run db_deadlock when opening a bdb backend?  Requires path to
-  functions and ability to launch shell command.  Closing the store stops the
-  sub-process.
 - Always support locks that timeout?  Tradeoffs?
 - Figure out how to compact a specific btree and/or key-range using optimize-storage.
   Probably need to update keyword part of the API
+- Perform checkpoints (prep for DCM functionality)
+- Verify db_deadlock for other lisps (launch and kill background program I/F)
+- Derived indices fail to re-connect, verify this
 
-BETA RELEASE TASKS
-
-Lisp support:
+Lisp Support:
+- 64-bit lisp verification
 - Win32 builds
   - Windows support for asdf-based library builds?  Include 32-bit dll in release?
 - Validate OpenMCL 1.1 on Mac OS X
 - Validate Lispworks
-- 64-bit lisp verification
 
 Stability and Performance:
+- Validate that migrate can use either O(c) or O(n/c) where c << n memory for large DBs
 - Review and address all NOTE comments in the code
 - Review SBCL string serialization performance
 - Improve SQL base-64 serializer performance?
 
-Migration:
-- Validate migration 0.6.0->0.6.1
-- Validate that migrate can use either O(c) or O(n/c) where c << n memory for large DBs
-
-FINAL RELEASE TASKS
+TASKS TO GET TO FINAL RELEASE:
 
 Test coverage:
-- Test for optimize storage method (just add probe-file methods to get file size)
+- Test for optimize storage method (just add probe-file methods to get file size?)
 - Multi-threading stress tests?  Ensure that there are conflicts and lots of serialization
-  happening concurrently to make sure that multi-threading is in good shape
+  happening concurrently to make sure that multi-threading is in good shape (Henrik's code)
 - Unicode tests
   - Test with UTF-16 and UTF-32 strings (construct with char-code?)
   - Ensure that variable length UTF-8 is automatically stored as UTF-16
 
 Documentation:
+- Add document section about backend interface:
 - Add notes about with/ensure-transaction usage (abort & commit behavior on exit)
 - Add notes about optimize-storage
 - Add notes about deadlock-detect
+- Add notes about checkpoint (null in SQL?)
 - Add notes about new BDB 4.5 *auto-commit* behavior.  Default for entire 
   store-controller will auto create a transaction if none is active if open 
   with :auto-commit t or will never auto-commit (regardless of operator flags) 
   if it is not.  Make sure open-store defaults to auto-commit and there is a 
   flag to turn it off.
+- More notes about transaction performance
 
 0.6.1 - Features COMPLETED to date
 ----------------------------------
 
+February 13th, 2007:
+x User choice to run db_deadlock when opening a bdb backend?  Requires path to
+  functions and ability to launch shell command.  Closing the store stops the sub-process.
+x Resolve duplicate ordering issues (punting to future release; documentation fix)
+x Trace all paths to db-put or db-delete and ensure that there is a check or a 
+  default ensure-transaction around the primitive components - write a document 
+  clarifying transaction design & assumptions in the backend
+
+
 February 9th, 2007
 x Improve SQL secondary cursor performance (Robert)
 x Fix *dbconnection-spec* to support multiple controllers for multiple threads
@@ -77,6 +84,7 @@
   subtle issues in database metadata and the user of the serializer
 
 Feburary 2nd, 2007 checkins:
+x Punted duplicate sorting to 0.7.0
 x Support locks in serializer for all systems
   x Provide support for fast and slow critical sections by lisps: buffer-streams, 
     circularity-arrays/hashes, shared controller side-effects... (see email)
@@ -178,6 +186,7 @@
 
 0.7.0: Native Lisp Backend (beta), Fast In-Memory Operations
 ------------------------------------------------------------
+  - Revisit duplicate sorting on primary key (artifact of btree index storage order)
   - Full support for DCM or integration of DCM functionality
     - Integrate prevalence-like in-memory database system for single image, 
       multiple-thread operation
@@ -193,7 +202,7 @@
                     instead of performance
   - Upgrade overall functionality
     - Solid garbage collection strategy
-    - 64-bit oids / 64-bit file sizes
+    - 64-bit oids / 64-bit file sizes?
     - class templates stored and cached
   - (From Ben's e-mail) We are storing persistent objects incorrectly. They should be
     stored only as OIDs, and we should have a separate OID->class table.  This way 
--- /project/elephant/cvsroot/elephant/config.sexp	2007/02/02 23:51:58	1.5
+++ /project/elephant/cvsroot/elephant/config.sexp	2007/02/14 04:36:08	1.6
@@ -1,6 +1,7 @@
-((:berkeley-db-include-dir . "/usr/local/BerkeleyDB.4.5/")
+((:berkeley-db-include-dir . "/opt/local/BerkeleyDB.4.5/")
  (:berkeley-db-lib-dir . "/opt/local/lib/db45/")
- (:berkeley-db-lib . "/usr/local/BerkeleyDB.4.5/lib/libDB-4.5.dylib")
+ (:berkeley-db-lib . "/opt/local/BerkeleyDB.4.5/lib/libDB-4.5.dylib")
+ (:berkeley-db-deadlock . "/opt/local/bin/db45_deadlock")
  (:pthread-lib . nil)
  (:clsql-lib . nil))
 
--- /project/elephant/cvsroot/elephant/elephant.asd	2007/02/12 20:36:44	1.28
+++ /project/elephant/cvsroot/elephant/elephant.asd	2007/02/14 04:36:08	1.29
@@ -159,7 +159,9 @@
 	    ((:module utils
 		      :components
 		      ((:file "package")
-		       (:file "locks")))
+		       (:file "convenience")
+		       (:file "locks")
+		       (:file "os")))
 	     (:module memutil
 		      :components
 		      ((:elephant-c-source "libmemutil")




More information about the Elephant-cvs mailing list