[Zope-dev] PartitionedFileStorage - Eek!

Chris Withers chrisw@nipltd.com
Tue, 02 Jan 2001 17:35:26 +0000


Shane Hathaway wrote:
> 
> BTW, Evan helped me find and correct a bug.  You'll only run into it if
> you set your partition size to less than the size of the largest ZODB
> objects.

That's fixed in 0.0.2, right?

Well, anyway, I changed the line in FileStorage.py as follows:
    # Use 0.5 GB partitions because that's what fits on a CD.
    defaultOps = PartitionedFileOperations(
        DefaultPartitionNamingStrategy(partlen=40000))
    #    DefaultPartitionNamingStrategy(partlen=2L**29))

...so I could try and provoke a split, but, now, when I try to add
objects, I get:

Error Type: CorruptedDataError
Error Value: 41904222L

Traceback (innermost last):
  File E:\Zope\22C38D~1.5B1\lib\python\ZPublisher\Publish.py, line 222,
in publish_module
  File E:\Zope\22C38D~1.5B1\lib\python\ZPublisher\Publish.py, line 187,
in publish
  File E:\Zope\22C38D~1.5B1\lib\python\Zope\__init__.py, line 221, in
zpublisher_exception_hook
    (Object: ApplicationDefaultPermissions)
  File E:\Zope\22C38D~1.5B1\lib\python\ZPublisher\Publish.py, line 171,
in publish
  File E:\Zope\22C38D~1.5B1\lib\python\ZPublisher\mapply.py, line 160,
in mapply
    (Object: manage_main)
  File E:\Zope\22C38D~1.5B1\lib\python\ZPublisher\Publish.py, line 112,
in call_object
    (Object: manage_main)
  File E:\Zope\22C38D~1.5B1\lib\python\App\special_dtml.py, line 120, in
__call__
    (Object: manage_main)
    (Info: E:\Zope\2.2.5b1\lib\python\OFS\main.dtml)
  File E:\Zope\22C38D~1.5B1\lib\python\DocumentTemplate\DT_String.py,
line 528, in __call__
    (Object: manage_main)
  File E:\Zope\22C38D~1.5B1\lib\python\App\special_dtml.py, line 120, in
__call__
    (Object: manage_tabs)
    (Info: E:\Zope\2.2.5b1\lib\python\App\manage_tabs.dtml)
  File E:\Zope\22C38D~1.5B1\lib\python\DocumentTemplate\DT_String.py,
line 528, in __call__
    (Object: manage_tabs)
  File E:\Zope\22C38D~1.5B1\lib\python\DocumentTemplate\DT_With.py, line
146, in render
    (Object: _(manage_options=filtered_manage_options()))
  File E:\Zope\22C38D~1.5B1\lib\python\App\PersistentExtra.py, line 114,
in locked_in_version
    (Object: ApplicationDefaultPermissions)
  File E:\Zope\22C38D~1.5B1\lib\python\ZODB\Connection.py, line 432, in
modifiedInVersion
  File E:\Zope\22C38D~1.5B1\lib\python\ZODB\DB.py, line 364, in
modifiedInVersion
  File E:\Zope\2.2.5b1\lib\python\ZODB\FileStorage.py, line 679, in
modifiedInVersion
    (Object: E:\Zope\2.2.5b1/var/Data.fs)
CorruptedDataError: (see above)

Any ideas?

cheers,

Chris