Discussion:
[Erp5-dev] upgrading issue
Mikolaj Antoszkiewicz
2008-04-30 16:28:41 UTC
Permalink
Hello,

I was in proces of upgrading a site from 18850 to 20821.

After updating Products and first Business Template (which was a catalog
template) I cannot view any form, except the Title Page.

Exception follows:
* Module Products.PageTemplates.ZRPythonExpr, line 47, in __call__
__traceback_info__:
here.portal_selections.getSelectionInvertModeFor(request['selection_name'])
and 'filter_on' or 'filter'
* Module Python expression
"here.portal_selections.getSelectionInvertModeFor(request['selection_name'])
and 'filter_on' or 'filter'", line 1, in <expression>
* Module Products.ERP5Form.SelectionTool, line 368, in
getSelectionInvertModeFor
* Module Products.ERP5Form.SelectionTool, line 202, in getSelectionFor
* Module Products.ERP5Form.SelectionTool, line 1249, in
_getSelectionFromContainer
* Module ZODB.Connection, line 704, in setstate
* Module ZODB.Connection, line 758, in _setstate
* Module ZODB.serialize, line 495, in setGhostState
* Module ZODB.serialize, line 488, in getState
* Module ZODB.serialize, line 436, in _persistent_load
* Module ZODB.Connection, line 208, in get
* Module ZODB.serialize, line 476, in getGhost

TypeError: issubclass() arg 1 must be a class


It looks like a problem concerning SelectionTool, but what's a
GhostState? ooOOOOooooOOooOOOooo :)
Has anybody encountered such a problem?

Mikolaj
Mikolaj Antoszkiewicz
2008-05-05 11:40:11 UTC
Permalink
Hello, again

The solution that is now working, was to change configuration in the
SelectionTool from Persistent Mapping support to Memcached Tool.

With Persistent Mapping it all went to hell, when trying to get ghost
object, unpickler found a string instead of a class.

The question that arises is:

What should be supported: Persistent Mapping or Memcached Tool by the
Selection Tool?
My guess is that it should be Memcached Tool, but by default Persistent
Mapping is set in Selection Tool configuration...

Mikolaj
Post by Mikolaj Antoszkiewicz
Hello,
I was in proces of upgrading a site from 18850 to 20821.
After updating Products and first Business Template (which was a catalog
template) I cannot view any form, except the Title Page.
* Module Products.PageTemplates.ZRPythonExpr, line 47, in __call__
here.portal_selections.getSelectionInvertModeFor(request['selection_name'])
and 'filter_on' or 'filter'
* Module Python expression
"here.portal_selections.getSelectionInvertModeFor(request['selection_name'])
and 'filter_on' or 'filter'", line 1, in <expression>
* Module Products.ERP5Form.SelectionTool, line 368, in
getSelectionInvertModeFor
* Module Products.ERP5Form.SelectionTool, line 202, in getSelectionFor
* Module Products.ERP5Form.SelectionTool, line 1249, in
_getSelectionFromContainer
* Module ZODB.Connection, line 704, in setstate
* Module ZODB.Connection, line 758, in _setstate
* Module ZODB.serialize, line 495, in setGhostState
* Module ZODB.serialize, line 488, in getState
* Module ZODB.serialize, line 436, in _persistent_load
* Module ZODB.Connection, line 208, in get
* Module ZODB.serialize, line 476, in getGhost
TypeError: issubclass() arg 1 must be a class
It looks like a problem concerning SelectionTool, but what's a
GhostState? ooOOOOooooOOooOOOooo :)
Has anybody encountered such a problem?
Mikolaj
_______________________________________________
Erp5-dev mailing list
Erp5-dev at erp5.org
http://mail.nexedi.com/mailman/listinfo/erp5-dev
Jérome Perrin
2008-05-19 11:32:43 UTC
Permalink
Post by Mikolaj Antoszkiewicz
Hello, again
The solution that is now working, was to change configuration in the
SelectionTool from Persistent Mapping support to Memcached Tool.
With Persistent Mapping it all went to hell, when trying to get ghost
object, unpickler found a string instead of a class.
I've also had this problem long ago, and escaped with the same
workaround. Have you updated zope version in the same time ?
Maybe this can be related to pickles that were contained in selection
(form_pickle), but as far as I see we never had special handling for
this.
Post by Mikolaj Antoszkiewicz
What should be supported: Persistent Mapping or Memcached Tool by the
Selection Tool?
My guess is that it should be Memcached Tool, but by default Persistent
Mapping is set in Selection Tool configuration...
Persistent Mapping is the default because it does not require any
configuration. Memcached version is a must for big projects.

J?rome
Mikolaj Antoszkiewicz
2008-05-19 12:41:50 UTC
Permalink
Post by Jérome Perrin
Post by Mikolaj Antoszkiewicz
Hello, again
The solution that is now working, was to change configuration in the
SelectionTool from Persistent Mapping support to Memcached Tool.
With Persistent Mapping it all went to hell, when trying to get ghost
object, unpickler found a string instead of a class.
I've also had this problem long ago, and escaped with the same
workaround. Have you updated zope version in the same time ?
Maybe this can be related to pickles that were contained in selection
(form_pickle), but as far as I see we never had special handling for
this.
Very probable, since unpickler found a string 'ERP5 Form' instead of the
class instance.
Post by Jérome Perrin
Post by Mikolaj Antoszkiewicz
What should be supported: Persistent Mapping or Memcached Tool by the
Selection Tool?
My guess is that it should be Memcached Tool, but by default Persistent
Mapping is set in Selection Tool configuration...
Persistent Mapping is the default because it does not require any
configuration. Memcached version is a must for big projects.
What kind of configuration Memcached version requires?

Mikolaj

Loading...