[Fwd: Re: [ZODB-Dev] Plone Get Paid and zodb corruption]

View: New views
4 Messages — Rating Filter:   Alert me  

[Fwd: Re: [ZODB-Dev] Plone Get Paid and zodb corruption]

by rafael-54 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "getpaid-dev" group.
To post to this group, send email to getpaid-dev@...
To unsubscribe from this group, send email to getpaid-dev+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/getpaid-dev?hl=en
-~----------~----~----~----~------~----~------~--~---


Your application is creating cross-database references. The version of  
ZODB you're using on the ZEO server doesn't support packing databases  
with cross References. Upgrade your ZEO server to ZODB 3.8.1 or ZODB  
3.9.

Jim


On Jun 29, 2009, at 11:54 AM, rafael wrote:

> Hi,
>
> I don't know if you are aware of Plone Getpaid issue 209
>
> http://code.google.com/p/getpaid/issues/detail?id=209
>
> The title of this issue is not 100% correct. As I get this  
> corruption without restarting the server.  There are some tracebacks  
> over there.
>
> I think the following lines of the payment processor might have to  
> do with it
>
>  # make cart safe for persistence by using pickling
>         order.shopping_cart = loads(dumps(cart))
>         order.user_id = getSecurityManager().getUser().getId()
>         order_manager.store(order)
>
>         # have to wait for the order to be created and the cart  
> added for this to work
>         order.finance_workflow.fireTransition('authorize')
>
>         # save html for button - we'll destroy the cart later on
>         html = button.cart_post_button(order)
>
>         # and destroy the cart
>         cart_util.destroy(self.context)
>
>         return html
>
>
>
> Recently, I tried moving from zeo to filestorage to see if this was  
> related. I get the same error, but now instead of breaking my site  
> (givving errors for different actions), it seems it is just  
> preventing me from packing... The tracebak I get when packing is:
>
> Traceback (innermost last):
>
> • Module ZPublisher.Publish, line 119, in publish
> • Module ZPublisher.mapply, line 88, in mapply
> • Module ZPublisher.Publish, line 42, in call_object
> • Module <string>, line 3, in _facade
> • Module AccessControl.requestmethod, line 64, in _curried
> • Module App.ApplicationManager, line 431, in manage_pack
> • Module ZODB.DB, line 624, in pack
> • Module ZODB.FileStorage.FileStorage, line 1352, in pack
> • Module ZODB.FileStorage.fspack, line 482, in pack
> • Module ZODB.FileStorage.fspack, line 228, in findReachable
> • Module ZODB.FileStorage.fspack, line 304, in  
> findReachableAtPacktime
> • Module ZODB.FileStorage.fspack, line 377, in findrefs
> • Module ZODB.serialize, line 645, in referencesf
> KeyError: 'n'
>
> Thanks,
>
> Rafael
> _______________________________________________
> For more information about ZODB, see the ZODB Wiki:
> http://www.zope.org/Wikis/ZODB/
>
> ZODB-Dev mailing list  -  ZODB-Dev@...
> http://mail.zope.org/mailman/listinfo/zodb-dev
--
Jim Fulton
Zope Corporation




Re: [Fwd: Re: [ZODB-Dev] Plone Get Paid and zodb corruption]

by David Glick :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On Jun 29, 2009, at 9:06 AM, rafael wrote:
> Your application is creating cross-database references. The version of
> ZODB you're using on the ZEO server doesn't support packing databases
> with cross References. Upgrade your ZEO server to ZODB 3.8.1 or ZODB
> 3.9.

Cross-database references are presumably created if something in the  
session references a persistent item from the main ZODB, or vice  
versa.  Those references would then get broken if Zope restarts  
(clearing the session from RAM) or if one of the databases is packed  
(since the ZODB doesn't support multi-database garbage collection, at  
least not until the separate package Jim made recently for that  
purpose).

You'll have to figure out where in GetPaid these references are  
getting created, and stop doing that.

David

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "getpaid-dev" group.
To post to this group, send email to getpaid-dev@...
To unsubscribe from this group, send email to getpaid-dev+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/getpaid-dev?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: [Fwd: Re: [ZODB-Dev] Plone Get Paid and zodb corruption]

by rafael-54 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks,

  I am talking to getpaid developers to see how to fix this, if it is not written in the proper way.
  But the good news is that upgrading to zodb 3.8.1 allowed me to pack again :). I hope I get no side-effects from this...

thanks

David Glick escreveu:
On Jun 29, 2009, at 9:06 AM, rafael wrote:
  
Your application is creating cross-database references. The version of
ZODB you're using on the ZEO server doesn't support packing databases
with cross References. Upgrade your ZEO server to ZODB 3.8.1 or ZODB
3.9.
    

Cross-database references are presumably created if something in the  
session references a persistent item from the main ZODB, or vice  
versa.  Those references would then get broken if Zope restarts  
(clearing the session from RAM) or if one of the databases is packed  
(since the ZODB doesn't support multi-database garbage collection, at  
least not until the separate package Jim made recently for that  
purpose).

You'll have to figure out where in GetPaid these references are  
getting created, and stop doing that.

David



  


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "getpaid-dev" group.
To post to this group, send email to getpaid-dev@...
To unsubscribe from this group, send email to getpaid-dev+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/getpaid-dev?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: [Fwd: Re: [ZODB-Dev] Plone Get Paid and zodb corruption]

by David Glick :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On Jun 29, 2009, at 9:39 AM, rafael wrote:

> Thanks,
>
>   I am talking to getpaid developers to see how to fix this, if it  
> is not written in the proper way.
>   But the good news is that upgrading to zodb 3.8.1 allowed me to  
> pack again :). I hope I get no side-effects from this...

I believe ZODB 3.8.1 is used fairly widely with Plone 3 as it is the  
first ZODB that supports blobs. So I think it is fairly safe.

David

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "getpaid-dev" group.
To post to this group, send email to getpaid-dev@...
To unsubscribe from this group, send email to getpaid-dev+unsubscribe@...
For more options, visit this group at http://groups.google.com/group/getpaid-dev?hl=en
-~----------~----~----~----~------~----~------~--~---