[Zope-dev] Re: [ZODB-Dev] Re: BTrees strangeness (was Zope 2.X BIG Session problems - blocker - our site dies - need help of experience Zope developer, please)

Steve Jibson stevej at parlant.com
Mon May 17 12:09:19 EDT 2004


:-(

I grabbed Transience.py and TemporaryStorage.py from the Zope-2_7-branch 
of CVS this morning and dropped them onto one of our customer's systems. 
  About 20 minutes later I found the following in the error_log:

----------------------------------------
Traceback (most recent call last):
   File "c:\Zope-2.7\lib\python\ZPublisher\Publish.py", line 100, in 
publish request, bind=1)
   File "c:\Zope-2.7\lib\python\ZPublisher\mapply.py", line 88, in mapply
     if debug is not None: return debug(object,args,context)
   File "c:\Zope-2.7\lib\python\ZPublisher\Publish.py", line 40, in 
call_object
     result=apply(object,args) # Type s<cr> to step into published object.
   File "c:\Zope-2.7\lib\python\OFS\DTMLDocument.py", line 128, in __call__
     r=apply(HTML.__call__, (self, (client, bself), REQUEST), kw)
   File "c:\Zope-2.7\lib\python\DocumentTemplate\DT_String.py", line 
474, in __call__
     try: result = render_blocks(self._v_blocks, md)
   File "c:\Zope-2.7\lib\python\OFS\DTMLDocument.py", line 121, in __call__
     r=apply(HTML.__call__, (self, bself, REQUEST), kw)
   File "c:\Zope-2.7\lib\python\DocumentTemplate\DT_String.py", line 
474, in __call__
     try: result = render_blocks(self._v_blocks, md)
   File "c:\Zope-2.7\lib\python\OFS\DTMLDocument.py", line 121, in __call__
     r=apply(HTML.__call__, (self, bself, REQUEST), kw)
   File "c:\Zope-2.7\lib\python\DocumentTemplate\DT_String.py", line 
474, in __call__
     try: result = render_blocks(self._v_blocks, md)
   File "c:\Zope-2.7\lib\python\DocumentTemplate\DT_Util.py", line 201, 
in eval
     return eval(code, d)
   File "<string>", line 1, in <expression>
   File "c:\Zope-2.7\lib\python\AccessControl\ZopeGuards.py", line 67, 
in guarded_getitem
     v = object[index]
   File "c:\Zope-2.7\lib\python\Products\Transience\TransientObject.py", 
line 170, in __getitem__
     return self._container[k]
KeyError: 'accountType'
----------------------------------------

After getting the error, I changed them over to FileStorage.  I haven't 
seen any errors since then.  I will be more than happy to spend some 
time doing whatever I can to help track this down and/or test updates.

Steve


Chris McDonough wrote:
> On Sat, 2004-05-15 at 23:55, Steve Jibson wrote:
> 
>>>quite yet been vetted (see earlier posts in this thread regarding
>>>Publish.py).  This should work itself out over the next week or so I
>>>suspect.
>>
>>Relatively speaking, this is only a minor concern.  It just means I 
>>shouldn't try to access session in the standard_error_message until a 
>>solution is found.  We were doing that in our product and I've already 
>>pulled that out.  After all, there are NEVER any errors, so why should 
>>we need to monkey with standard_error_message ;-)
>>It would be nice, for completeness, if this were resolved for 2.7.1.
> 
> 
> Yes, it should work itself out over the next week or so, and definitely
> before 2.7.1.
> 
> 
>>Am I safe just dropping those two files from CVS into an existing 2.7 
>>site or do I need to grab everything else from the Zope-2_7-branch?
> 
> 
> I think you should be safe with just those two, but were I you I would
> just get the 2.7 branch out of CVS in its entirety (then you can update
> more easily if there are fixes).  Note that if you have transient object
> containers in a "permanent" storage (like FileStorage), the operation is
> pretty much a "one way" one if you want to keep the data in the
> transient object container: you can go to the new code, then go back to
> the "old" code if necessarfy, but you will likely lose data in the TOC
> if you do.  Obviously this doesn't effect stuff in a TemporaryStorage
> (because it goes away when Zope is shut down).
> 
> - C
> 




More information about the Zope-Dev mailing list