[ZODB-Dev] 3.2.1b1 with POSKeyError and ConflictError

Nicholas Henke henken at seas.upenn.edu
Wed May 14 03:40:17 EDT 2003


I know it is a beta release, but a few things have popped out at me. My
application uses 3 threads with one connection to a ZODB FileStorage.
There is a lock around the connection -- I use a lock instead of
multiple connections, as the transactions are really heavy writes, and
the cost of re-doing a transaction costs more than just waiting for a
lock. If I am insane, or am breaking something esoteric, please holler
:)

I am seeing the following 'issues' from 3.1.1 to 3.1.2b1:

1. After a pack(), I need to issue a sync() to avoid seeing
ConflictErrors on the next transaction. The errors I see are all of the
nature of 'oid was XXX, is now YYY''

2.POSKeyErrors.I ran fstest and it reported no errors. Same with
checkbtrees. Below is the output from Tools/analyze.py. What other
information can I provide ?

[root at brothel Tools]# python2.2 analyze.py /var/db/clubmask.zodb
Processed 1390 records in 181 transactions
Average record size is  274.16 bytes
Average transaction size is 2105.40 bytes
Types used:
Class Name                                       Count    TBytes    Pct
AvgSize
---------------------------------------------- ------- ---------  -----
-------
IndexedCatalog.BTrees.OOBTree.OOBTree              196     45299  11.9% 
231.12
IndexedCatalog.BTrees.OOBTree.OOBucket              22     21764   5.7% 
989.27
IndexedCatalog.BTrees.OOBTree.OOSet                896    178603  46.9% 
199.33
IndexedCatalog.BTrees._IOBTree.IOBTree              30      5689   1.5% 
189.63
IndexedCatalog.BTrees._IOBTree.IOBucket             10     14997   3.9%
1499.70
IndexedCatalog.Catalog.Catalog                       3      2441   0.6% 
813.67
IndexedCatalog.Indexes.FloatIndex                    3       411   0.1% 
137.00
IndexedCatalog.Indexes.IndexCollection               3      2421   0.6% 
807.00
IndexedCatalog.Indexes.InstanceIndex                 3       426   0.1% 
142.00
IndexedCatalog.Indexes.IntIndex                     22      2992   0.8% 
136.00
IndexedCatalog.Indexes.StringIndex                  13      1796   0.5% 
138.15
IndexedCatalog.Indexes.TupleIndex                    2       274   0.1% 
137.00
IndexedCatalog.Object.FieldOptions                   3      1723   0.5% 
574.33
IndexedCatalog.Registry.Registry                     1       167   0.0% 
167.00
Persistence.PersistentMapping                        1       213   0.1% 
213.00
clubmask.database.JobClass.Job                     168     92930  24.4% 
553.15
clubmask.database.MachineClass.Machine              14      8932   2.3% 
638.00
============================================== ======= =========  =====
=======
                            Total Transactions    
181                    2.06k
                                 Total Records    1390      372k 100.0% 
274.16
                               Current Objects    1350      362k  97.3% 
274.67
                                   Old Objects      40       10k   2.7% 
256.70

-- 
Nicholas Henke
Penguin Herder & Linux Cluster System Programmer
Liniac Project - Univ. of Pennsylvania





More information about the ZODB-Dev mailing list