[Zope] ZCatalog and LoginManager - be aware.
Michel Pelletier
michel@digicool.com
Tue, 28 Nov 2000 15:12:03 -0800
Oliver Bleutgen wrote:
>
> Hi,
>
> I just wanted to mention a IMO bad pitfall when using ZCatalog, for
> the sake of sparing others some time.
>
> I'm running Zope 2.2.2 with LoginManager with SQL in a subfolder and was getting
> the following error when trying to find dtml-documents into ZCatalog:
>
> Error Type: AttributeError
> Error Value: commit_sub
>
> Traceback (innermost last):
> File /home/local-extranet/web/zope3/Zope-2.2.2-src/lib/python/ZPublisher/Publish.py, line 222, in publish_module
> File /home/local-extranet/web/zope3/Zope-2.2.2-src/lib/python/ZPublisher/Publish.py, line 187, in publish
> File /home/local-extranet/web/zope3/Zope-2.2.2-src/lib/python/Zope/__init__.py, line 221, in zpublisher_exception_hook
> (Object: Traversable)
> File /home/local-extranet/web/zope3/Zope-2.2.2-src/lib/python/ZPublisher/Publish.py, line 175, in publish
> File /home/local-extranet/web/zope3/Zope-2.2.2-src/lib/python/Zope/__init__.py, line 235, in commit
> File /home/local-extranet/web/zope3/Zope-2.2.2-src/lib/python/ZODB/Transaction.py, line 261, in commit
> AttributeError: (see above)
>
> All other object-types (incuding dtml-methods) seem to work. I have put no
> restrictions on which files I want found, but restricting something to
> reduce the number of found objects helps.
>
> I fiddled around somewhat and discovered that disabling
> subtransactions in ZCatalog does help (required for using
> ZSQL Methods and ZCatalog in the same transaction).
Yeah, that sux. I think this is a known limitation. I'm not sure.
> Now I use SQL-based LoginManager, but why on earth did it only
> fail on DTML-Documents? Is it because I have much more of them so
> only then ZCatalog's subtransactions come into play?
Probably because sub transactions are only commited after a certain
number of words or values are indexed, and your DTML documents were the
only things that held words.
-Michel