At first I thought this was a re-index of the universe. So this would be a very fast forwards/backwards operation.
--Paul
On Sep 30, 2014, at 5:04 PM, Chris Rossi <email address hidden> wrote:
> This is caused by moving KarlPGTextIndex from karlserve to karl--the
> dotted path name to the class has changed so we can't unpickle the old
> index and end up with a broken object. The fix is pretty easy--just
> instantiate a new index and stick it in the right place. Because we're
> a little worried about being able to roll back easily, I'll just post
> this as a snippet that can be run in bin/debug. To roll back just
> import KarlPGTextIndex from the old location in karlserve and do the
> exact same thing:
>
> chris@curiosity:~/proj/karl/devless$ bin/debug
> Python 2.6.9 (unknown, Mar 21 2014, 10:34:41)
> [GCC 4.8.1] on linux3
> Type "help" for more information. "app" is the karl Pyramid application.
>>>> import transaction
>>>> from karl.textindex import KarlPGTextIndex
>>>> from karl.models.site import get_weighted_textrepr
>>>> root.catalog['texts'] = KarlPGTextIndex(get_weighted_textrepr)
>>>> transaction.commit()
>>>>
>
> Also, you might end up with more than one text index as a result of past
> reindex operations. If there is a 'new_texts' index, remove it:
>
> Python 2.6.9 (unknown, Jan 8 2014, 15:38:00)
> [GCC 4.5.4] on linux2
> Type "help" for more information. "app" is the karl Pyramid application.
>>>> root.catalog.keys()
> ['creator', 'member_name', 'creation_date', 'texts', 'titlestartswith', 'allowed', 'modified_date', 'modified_by', 'content_modified', 'virtual', 'email', 'end_date', 'tags', 'interfaces', 'lastfirst', 'publication_date', 'mimetype', 'name', 'title', 'start_date', 'containment', 'path', 'new_texts']
>>>> del root.catalog['new_texts']
>>>> import transaction
>>>> transaction.commit()
>>>>
>
> I've done this on staging and it fixes the problem.
>
> ** Changed in: karl3
> Status: In Progress => Fix Committed
>
> --
> You received this bug notification because you are subscribed to KARL3.
> https://bugs.launchpad.net/bugs/1375882
>
> Title:
> KarlPGTextIndex is missing index_doc method
>
> Status in KARL3:
> Fix Committed
>
> Bug description:
> When adding a blog post we get this stack trace:
>
>
> Traceback (most recent call last):
> File "/srv/karlstaging/staging/63/eggs/pyramid-1.2.1-py2.6.egg/pyramid/tweens.py", line 17, in excview_tween
> response = handler(request)
> File "/srv/karlstaging/staging/63/eggs/pyramid_tm-0.5-py2.6.egg/pyramid_tm/__init__.py", line 107, in tm_tween
> return response
> File "/srv/karlstaging/staging/63/eggs/pyramid_tm-0.5-py2.6.egg/pyramid_tm/__init__.py", line 75, in __exit__
> return self._retry_or_raise(t, v, tb)
> File "/srv/karlstaging/staging/63/eggs/pyramid_tm-0.5-py2.6.egg/pyramid_tm/__init__.py", line 60, in _retry_or_raise
> reraise(t, v, tb) # otherwise reraise the exception
> File "/srv/karlstaging/staging/63/eggs/pyramid_tm-0.5-py2.6.egg/pyramid_tm/__init__.py", line 100, in tm_tween
> response = handler(request)
> File "/srv/karlstaging/staging/63/eggs/pyramid-1.2.1-py2.6.egg/pyramid/router.py", line 153, in handle_request
> response = view_callable(context, request)
> File "/srv/karlstaging/staging/63/eggs/pyramid-1.2.1-py2.6.egg/pyramid/config/views.py", line 523, in __call__
> return view(context, request)
> File "/srv/karlstaging/staging/63/eggs/pyramid-1.2.1-py2.6.egg/pyramid/config/views.py", line 266, in attr_view
> return view(context, request)
> File "/srv/karlstaging/staging/63/eggs/pyramid-1.2.1-py2.6.egg/pyramid/config/views.py", line 239, in predicate_wrapper
> return view(context, request)
> File "/srv/karlstaging/staging/63/eggs/pyramid-1.2.1-py2.6.egg/pyramid/config/views.py", line 186, in _secured_view
> return view(context, request)
> File "/srv/karlstaging/staging/63/eggs/pyramid-1.2.1-py2.6.egg/pyramid/config/views.py", line 292, in rendered_view
> result = view(context, request)
> File "/srv/karlstaging/staging/63/eggs/pyramid_formish-0.2a1-py2.6.egg/pyramid_formish/zcml.py", line 171, in __call__
> return submitted(request, form, controller, self.action, controller)
> File "/srv/karlstaging/staging/63/eggs/pyramid_formish-0.2a1-py2.6.egg/pyramid_formish/zcml.py", line 210, in submitted
> result = getattr(controller, handler)(converted)
> File "/srv/karlstaging/staging/63/src/karl/karl/content/views/blog.py", line 414, in handle_submit
> context[name] = blogentry
> File "/srv/karlstaging/staging/63/eggs/repoze.folder-0.6.2-py2.6.egg/repoze/folder/__init__.py", line 113, in __setitem__
> return self.add(name, other)
> File "/srv/karlstaging/staging/63/eggs/repoze.folder-0.6.2-py2.6.egg/repoze/folder/__init__.py", line 146, in add
> objectEventNotify(ObjectAddedEvent(other, self, name))
> File "/srv/karlstaging/staging/63/eggs/zope.component-3.6.0-py2.6.egg/zope/component/event.py", line 33, in objectEventNotify
> adapters = zope.component.subscribers((event.object, event), None)
> File "/srv/karlstaging/staging/63/eggs/zope.component-3.6.0-py2.6.egg/zope/component/_api.py", line 138, in subscribers
> return sitemanager.subscribers(objects, interface)
> File "/srv/karlstaging/staging/63/eggs/zope.component-3.6.0-py2.6.egg/zope/component/registry.py", line 315, in subscribers
> return self.adapters.subscribers(objects, provided)
> File "/srv/karlstaging/staging/63/eggs/zope.interface-3.5.1-py2.6-linux-i686.egg/zope/interface/adapter.py", line 535, in subscribers
> subscription(*objects)
> File "/srv/karlstaging/staging/63/src/karl/karl/models/subscribers.py", line 77, in index_content
> catalog.index_doc(docid, node)
> File "/srv/karlstaging/staging/63/src/karl/karl/models/catalog.py", line 47, in index_doc
> super(CachingCatalog, self).index_doc(*arg, **kw)
> File "/srv/karlstaging/staging/63/eggs/repoze.catalog-0.8.3-py2.6.egg/repoze/catalog/catalog.py", line 31, in index_doc
> index.index_doc(docid, obj)
> AttributeError: 'KarlPGTextIndex' object has no attribute 'index_doc'
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/karl3/+bug/1375882/+subscriptions
At first I thought this was a re-index of the universe. So this would be a very fast forwards/backwards operation.
--Paul
On Sep 30, 2014, at 5:04 PM, Chris Rossi <email address hidden> wrote:
> This is caused by moving KarlPGTextIndex from karlserve to karl--the :~/proj/ karl/devless$ bin/debug textrepr 'texts' ] = KarlPGTextIndex (get_weighted_ textrepr) commit( ) 'new_texts' ] commit( ) /bugs.launchpad .net/bugs/ 1375882 ng/staging/ 63/eggs/ pyramid- 1.2.1-py2. 6.egg/pyramid/ tweens. py", line 17, in excview_tween ng/staging/ 63/eggs/ pyramid_ tm-0.5- py2.6.egg/ pyramid_ tm/__init_ _.py", line 107, in tm_tween ng/staging/ 63/eggs/ pyramid_ tm-0.5- py2.6.egg/ pyramid_ tm/__init_ _.py", line 75, in __exit__ or_raise( t, v, tb) ng/staging/ 63/eggs/ pyramid_ tm-0.5- py2.6.egg/ pyramid_ tm/__init_ _.py", line 60, in _retry_or_raise ng/staging/ 63/eggs/ pyramid_ tm-0.5- py2.6.egg/ pyramid_ tm/__init_ _.py", line 100, in tm_tween ng/staging/ 63/eggs/ pyramid- 1.2.1-py2. 6.egg/pyramid/ router. py", line 153, in handle_request context, request) ng/staging/ 63/eggs/ pyramid- 1.2.1-py2. 6.egg/pyramid/ config/ views.py" , line 523, in __call__ ng/staging/ 63/eggs/ pyramid- 1.2.1-py2. 6.egg/pyramid/ config/ views.py" , line 266, in attr_view ng/staging/ 63/eggs/ pyramid- 1.2.1-py2. 6.egg/pyramid/ config/ views.py" , line 239, in predicate_wrapper ng/staging/ 63/eggs/ pyramid- 1.2.1-py2. 6.egg/pyramid/ config/ views.py" , line 186, in _secured_view ng/staging/ 63/eggs/ pyramid- 1.2.1-py2. 6.egg/pyramid/ config/ views.py" , line 292, in rendered_view ng/staging/ 63/eggs/ pyramid_ formish- 0.2a1-py2. 6.egg/pyramid_ formish/ zcml.py" , line 171, in __call__ ng/staging/ 63/eggs/ pyramid_ formish- 0.2a1-py2. 6.egg/pyramid_ formish/ zcml.py" , line 210, in submitted ng/staging/ 63/src/ karl/karl/ content/ views/blog. py", line 414, in handle_submit ng/staging/ 63/eggs/ repoze. folder- 0.6.2-py2. 6.egg/repoze/ folder/ __init_ _.py", line 113, in __setitem__ ng/staging/ 63/eggs/ repoze. folder- 0.6.2-py2. 6.egg/repoze/ folder/ __init_ _.py", line 146, in add fy(ObjectAddedE vent(other, self, name)) ng/staging/ 63/eggs/ zope.component- 3.6.0-py2. 6.egg/zope/ component/ event.py" , line 33, in objectEventNotify subscribers( (event. object, event), None) ng/staging/ 63/eggs/ zope.component- 3.6.0-py2. 6.egg/zope/ component/ _api.py" , line 138, in subscribers subscribers( objects, interface) ng/staging/ 63/eggs/ zope.component- 3.6.0-py2. 6.egg/zope/ component/ registry. py", line 315, in subscribers subscribers( objects, provided) ng/staging/ 63/eggs/ zope.interface- 3.5.1-py2. 6-linux- i686.egg/ zope/interface/ adapter. py", line 535, in subscribers *objects) ng/staging/ 63/src/ karl/karl/ models/ subscribers. py", line 77, in index_content index_doc( docid, node) ng/staging/ 63/src/ karl/karl/ models/ catalog. py", line 47, in index_doc talog, self).index_ doc(*arg, **kw) ng/staging/ 63/eggs/ repoze. catalog- 0.8.3-py2. 6.egg/repoze/ catalog/ catalog. py", line 31, in index_doc doc(docid, obj) /bugs.launchpad .net/karl3/ +bug/1375882/ +subscriptions
> dotted path name to the class has changed so we can't unpickle the old
> index and end up with a broken object. The fix is pretty easy--just
> instantiate a new index and stick it in the right place. Because we're
> a little worried about being able to roll back easily, I'll just post
> this as a snippet that can be run in bin/debug. To roll back just
> import KarlPGTextIndex from the old location in karlserve and do the
> exact same thing:
>
> chris@curiosity
> Python 2.6.9 (unknown, Mar 21 2014, 10:34:41)
> [GCC 4.8.1] on linux3
> Type "help" for more information. "app" is the karl Pyramid application.
>>>> import transaction
>>>> from karl.textindex import KarlPGTextIndex
>>>> from karl.models.site import get_weighted_
>>>> root.catalog[
>>>> transaction.
>>>>
>
> Also, you might end up with more than one text index as a result of past
> reindex operations. If there is a 'new_texts' index, remove it:
>
> Python 2.6.9 (unknown, Jan 8 2014, 15:38:00)
> [GCC 4.5.4] on linux2
> Type "help" for more information. "app" is the karl Pyramid application.
>>>> root.catalog.keys()
> ['creator', 'member_name', 'creation_date', 'texts', 'titlestartswith', 'allowed', 'modified_date', 'modified_by', 'content_modified', 'virtual', 'email', 'end_date', 'tags', 'interfaces', 'lastfirst', 'publication_date', 'mimetype', 'name', 'title', 'start_date', 'containment', 'path', 'new_texts']
>>>> del root.catalog[
>>>> import transaction
>>>> transaction.
>>>>
>
> I've done this on staging and it fixes the problem.
>
> ** Changed in: karl3
> Status: In Progress => Fix Committed
>
> --
> You received this bug notification because you are subscribed to KARL3.
> https:/
>
> Title:
> KarlPGTextIndex is missing index_doc method
>
> Status in KARL3:
> Fix Committed
>
> Bug description:
> When adding a blog post we get this stack trace:
>
>
> Traceback (most recent call last):
> File "/srv/karlstagi
> response = handler(request)
> File "/srv/karlstagi
> return response
> File "/srv/karlstagi
> return self._retry_
> File "/srv/karlstagi
> reraise(t, v, tb) # otherwise reraise the exception
> File "/srv/karlstagi
> response = handler(request)
> File "/srv/karlstagi
> response = view_callable(
> File "/srv/karlstagi
> return view(context, request)
> File "/srv/karlstagi
> return view(context, request)
> File "/srv/karlstagi
> return view(context, request)
> File "/srv/karlstagi
> return view(context, request)
> File "/srv/karlstagi
> result = view(context, request)
> File "/srv/karlstagi
> return submitted(request, form, controller, self.action, controller)
> File "/srv/karlstagi
> result = getattr(controller, handler)(converted)
> File "/srv/karlstagi
> context[name] = blogentry
> File "/srv/karlstagi
> return self.add(name, other)
> File "/srv/karlstagi
> objectEventNoti
> File "/srv/karlstagi
> adapters = zope.component.
> File "/srv/karlstagi
> return sitemanager.
> File "/srv/karlstagi
> return self.adapters.
> File "/srv/karlstagi
> subscription(
> File "/srv/karlstagi
> catalog.
> File "/srv/karlstagi
> super(CachingCa
> File "/srv/karlstagi
> index.index_
> AttributeError: 'KarlPGTextIndex' object has no attribute 'index_doc'
>
> To manage notifications about this bug go to:
> https:/