Hi Christian,
It crashes straight away with this error...
Removing all documents from your index because you said so.
All documents removed.
Indexing 558 users
ERROR:root:Error updating auth using default
Traceback (most recent call last):
File
"/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
line 188, in handle_label
self.update_backend(label, using)
File
"/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
line 233, in update_backend
do_update(backend, index, qs, start, end, total,
verbosity=self.verbosity, commit=self.commit)
File
"/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
line 96, in do_update
backend.update(index, current_qs, commit=commit)
File
"/usr/lib/python2.7/site-packages/haystack/backends/whoosh_backend.py",
line 196, in update
doc = index.full_prepare(obj)
File "/usr/lib/python2.7/site-packages/haystack/indexes.py", line 212, in
full_prepare
self.prepared_data = self.prepare(obj)
File "/usr/lib/python2.7/site-packages/haystack/indexes.py", line 203, in
prepare
self.prepared_data[field.index_fieldname] = field.prepare(obj)
File "/usr/lib/python2.7/site-packages/haystack/fields.py", line 158, in
prepare
return self.convert(super(CharField, self).prepare(obj))
File "/usr/lib/python2.7/site-packages/haystack/fields.py", line 87, in
prepare
raise SearchFieldError("The model '%s' does not have a model_attr
'%s'." % (repr(current_object), attr))
SearchFieldError: The model '<User: admin>' does not have a model_attr
'username'.
Traceback (most recent call last):
File "/usr/bin/rb-site", line 9, in <module>
load_entry_point('ReviewBoard==2.5.16', 'console_scripts', 'rb-site')()
File "/usr/lib/python2.7/site-packages/reviewboard/cmdline/rbsite.py",
line 1964, in main
command.run()
File "/usr/lib/python2.7/site-packages/reviewboard/cmdline/rbsite.py",
line 1884, in run
site.run_manage_command(args[0], args[1:])
File "/usr/lib/python2.7/site-packages/reviewboard/cmdline/rbsite.py",
line 712, in run_manage_command
execute_from_command_line([__file__, cmd] + params)
File
"/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line
399, in execute_from_command_line
utility.execute()
File
"/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line
392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/lib/python2.7/site-packages/django/core/management/base.py",
line 242, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/lib/python2.7/site-packages/django/core/management/base.py",
line 285, in execute
output = self.handle(*args, **options)
File
"/usr/lib/python2.7/site-packages/reviewboard/reviews/management/commands/index.py",
line 19, in handle
call_command('rebuild_index', interactive=False)
File
"/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line
159, in call_command
return klass.execute(*args, **defaults)
File "/usr/lib/python2.7/site-packages/django/core/management/base.py",
line 285, in execute
output = self.handle(*args, **options)
File
"/usr/lib/python2.7/site-packages/haystack/management/commands/rebuild_index.py",
line 26, in handle
call_command('update_index', **options)
File
"/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line
159, in call_command
return klass.execute(*args, **defaults)
File "/usr/lib/python2.7/site-packages/django/core/management/base.py",
line 285, in execute
output = self.handle(*args, **options)
File
"/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
line 183, in handle
return super(Command, self).handle(*items, **options)
File "/usr/lib/python2.7/site-packages/django/core/management/base.py",
line 385, in handle
label_output = self.handle_label(label, **options)
File
"/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
line 188, in handle_label
self.update_backend(label, using)
File
"/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
line 233, in update_backend
do_update(backend, index, qs, start, end, total,
verbosity=self.verbosity, commit=self.commit)
File
"/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
line 96, in do_update
backend.update(index, current_qs, commit=commit)
File
"/usr/lib/python2.7/site-packages/haystack/backends/whoosh_backend.py",
line 196, in update
doc = index.full_prepare(obj)
File "/usr/lib/python2.7/site-packages/haystack/indexes.py", line 212, in
full_prepare
self.prepared_data = self.prepare(obj)
File "/usr/lib/python2.7/site-packages/haystack/indexes.py", line 203, in
prepare
self.prepared_data[field.index_fieldname] = field.prepare(obj)
File "/usr/lib/python2.7/site-packages/haystack/fields.py", line 158, in
prepare
return self.convert(super(CharField, self).prepare(obj))
File "/usr/lib/python2.7/site-packages/haystack/fields.py", line 87, in
prepare
raise SearchFieldError("The model '%s' does not have a model_attr
'%s'." % (repr(current_object), attr))
haystack.exceptions.SearchFieldError: The model '<User: admin>' does not
have a model_attr 'username'.
[root@reviews-test haystack]# vi fields.py
[root@reviews-test haystack]# rb-site manage
/var/www/reviews.eu.fidessa.priv index -- --full
Removing all documents from your index because you said so.
All documents removed.
Indexing 558 users
ERROR:root:Error updating auth using default
Traceback (most recent call last):
File
"/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
line 188, in handle_label
self.update_backend(label, using)
File
"/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
line 233, in update_backend
do_update(backend, index, qs, start, end, total,
verbosity=self.verbosity, commit=self.commit)
File
"/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
line 96, in do_update
backend.update(index, current_qs, commit=commit)
File
"/usr/lib/python2.7/site-packages/haystack/backends/whoosh_backend.py",
line 196, in update
doc = index.full_prepare(obj)
File "/usr/lib/python2.7/site-packages/haystack/indexes.py", line 212, in
full_prepare
self.prepared_data = self.prepare(obj)
File "/usr/lib/python2.7/site-packages/haystack/indexes.py", line 203, in
prepare
self.prepared_data[field.index_fieldname] = field.prepare(obj)
File "/usr/lib/python2.7/site-packages/haystack/fields.py", line 159, in
prepare
return self.convert(super(CharField, self).prepare(obj))
File "/usr/lib/python2.7/site-packages/haystack/fields.py", line 87, in
prepare
raise SearchFieldError("The model '%s' does not have a model_attr
'%s'." % (repr(current_object), attr))
SearchFieldError: The model '<User: admin>' does not have a model_attr
'username'.
Traceback (most recent call last):
File "/usr/bin/rb-site", line 9, in <module>
load_entry_point('ReviewBoard==2.5.16', 'console_scripts', 'rb-site')()
File "/usr/lib/python2.7/site-packages/reviewboard/cmdline/rbsite.py",
line 1964, in main
command.run()
File "/usr/lib/python2.7/site-packages/reviewboard/cmdline/rbsite.py",
line 1884, in run
site.run_manage_command(args[0], args[1:])
File "/usr/lib/python2.7/site-packages/reviewboard/cmdline/rbsite.py",
line 712, in run_manage_command
execute_from_command_line([__file__, cmd] + params)
File
"/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line
399, in execute_from_command_line
utility.execute()
File
"/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line
392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/lib/python2.7/site-packages/django/core/management/base.py",
line 242, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/lib/python2.7/site-packages/django/core/management/base.py",
line 285, in execute
output = self.handle(*args, **options)
File
"/usr/lib/python2.7/site-packages/reviewboard/reviews/management/commands/index.py",
line 19, in handle
call_command('rebuild_index', interactive=False)
File
"/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line
159, in call_command
return klass.execute(*args, **defaults)
File "/usr/lib/python2.7/site-packages/django/core/management/base.py",
line 285, in execute
output = self.handle(*args, **options)
File
"/usr/lib/python2.7/site-packages/haystack/management/commands/rebuild_index.py",
line 26, in handle
call_command('update_index', **options)
File
"/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line
159, in call_command
return klass.execute(*args, **defaults)
File "/usr/lib/python2.7/site-packages/django/core/management/base.py",
line 285, in execute
output = self.handle(*args, **options)
File
"/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
line 183, in handle
return super(Command, self).handle(*items, **options)
File "/usr/lib/python2.7/site-packages/django/core/management/base.py",
line 385, in handle
label_output = self.handle_label(label, **options)
File
"/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
line 188, in handle_label
self.update_backend(label, using)
File
"/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
line 233, in update_backend
do_update(backend, index, qs, start, end, total,
verbosity=self.verbosity, commit=self.commit)
File
"/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
line 96, in do_update
backend.update(index, current_qs, commit=commit)
File
"/usr/lib/python2.7/site-packages/haystack/backends/whoosh_backend.py",
line 196, in update
doc = index.full_prepare(obj)
File "/usr/lib/python2.7/site-packages/haystack/indexes.py", line 212, in
full_prepare
self.prepared_data = self.prepare(obj)
File "/usr/lib/python2.7/site-packages/haystack/indexes.py", line 203, in
prepare
self.prepared_data[field.index_fieldname] = field.prepare(obj)
File "/usr/lib/python2.7/site-packages/haystack/fields.py", line 159, in
prepare
return self.convert(super(CharField, self).prepare(obj))
File "/usr/lib/python2.7/site-packages/haystack/fields.py", line 87, in
prepare
raise SearchFieldError("The model '%s' does not have a model_attr
'%s'." % (repr(current_object), attr))
haystack.exceptions.SearchFieldError: The model '<User: admin>' does not
have a model_attr 'username'.
Thanks
Rob
On Monday, 16 October 2017 22:46:09 UTC+1, Christian Hammond wrote:
>
> Hi Rob,
>
> Actually, this should function as a workaround for now. You can do this in
> that same Haystack file. Change the entirety of that previous code to:
>
> hasattr(current_object, attr)
>
> if hasattr(current_object, attr):
> raise SearchFieldError("The model '%s' does not have a model_attr
> '%s'." % (repr(current_object), attr))
>
> What will happen is the initial hasattr will trigger the crash that's
> resulting in the failure, but we're discarding the result of the initial
> one. A lucky (in this case) side-effect is that only the first call on a
> given review request will fail, and the second will succeed (internal state
> caching stuff). This should allow a full index to proceed.
>
> It's a temporary fix until we get the next release out.
>
> Christian
>
> On Mon, Oct 16, 2017 at 11:48 AM, 'Rob Backhurst' via reviewboard <
> [email protected] <javascript:>> wrote:
>
>> Thanks Christian, is that something we’ll need to do directly to the
>> database? I don’t suppose you have any info on what needs to be done? Our
>> DBA is on leave at the mo.
>>
>> No probs, not always easy to get to the bottom of these things!
>>
>> Thanks
>> Rob
>>
>> Sent from my iPhone
>>
>> On 16 Oct 2017, at 19:15, Christian Hammond <[email protected]
>> <javascript:>> wrote:
>>
>> Interesting. Okay, yeah, you'd need to remove the commit ID from one of
>> them for now. I'll put a fix together for the next 2.5.x and schedule a
>> release. Thanks for your patience on this!
>>
>> Christian
>>
>>
>> On Mon, Oct 16, 2017 at 07:46 'Rob Backhurst' via reviewboard <
>> [email protected] <javascript:>> wrote:
>>
>>> Hi Christian,
>>>
>>> Here you go...
>>>
>>> ERROR:root:Error updating reviews using default
>>> Traceback (most recent call last):
>>> File
>>> "/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
>>>
>>> line 188, in handle_label
>>> self.update_backend(label, using)
>>> File
>>> "/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
>>>
>>> line 233, in update_backend
>>> do_update(backend, index, qs, start, end, total,
>>> verbosity=self.verbosity, commit=self.commit)
>>> File
>>> "/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
>>>
>>> line 96, in do_update
>>> backend.update(index, current_qs, commit=commit)
>>> File
>>> "/usr/lib/python2.7/site-packages/haystack/backends/whoosh_backend.py",
>>> line 196, in update
>>> doc = index.full_prepare(obj)
>>> File "/usr/lib/python2.7/site-packages/haystack/indexes.py", line 212,
>>> in full_prepare
>>> self.prepared_data = self.prepare(obj)
>>> File "/usr/lib/python2.7/site-packages/haystack/indexes.py", line 203,
>>> in prepare
>>> self.prepared_data[field.index_fieldname] = field.prepare(obj)
>>> File "/usr/lib/python2.7/site-packages/haystack/fields.py", line 166,
>>> in prepare
>>> return self.convert(super(CharField, self).prepare(obj))
>>> File "/usr/lib/python2.7/site-packages/haystack/fields.py", line 90,
>>> in prepare
>>> getattr(current_object, attr)
>>> File
>>> "/usr/lib/python2.7/site-packages/reviewboard/reviews/models/review_request.py",
>>>
>>> line 273, in get_commit
>>> commit_id=six.text_type(self.changenum))
>>> File "/usr/lib/python2.7/site-packages/django/db/models/query.py",
>>> line 493, in update
>>> rows = query.get_compiler(self.db).execute_sql(None)
>>> File
>>> "/usr/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line
>>> 980, in execute_sql
>>> cursor = super(SQLUpdateCompiler, self).execute_sql(result_type)
>>> File
>>> "/usr/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line
>>> 786, in execute_sql
>>> cursor.execute(sql, params)
>>> File "/usr/lib/python2.7/site-packages/django/db/backends/util.py",
>>> line 53, in execute
>>> return self.cursor.execute(sql, params)
>>> File "/usr/lib/python2.7/site-packages/django/db/utils.py", line 99,
>>> in __exit__
>>> six.reraise(dj_exc_type, dj_exc_value, traceback)
>>> File "/usr/lib/python2.7/site-packages/django/db/backends/util.py",
>>> line 53, in execute
>>> return self.cursor.execute(sql, params)
>>> File
>>> "/usr/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line
>>> 124, in execute
>>> return self.cursor.execute(query, args)
>>> File "/usr/lib64/python2.7/site-packages/MySQLdb/cursors.py", line
>>> 205, in execute
>>> self.errorhandler(self, exc, value)
>>> File "/usr/lib64/python2.7/site-packages/MySQLdb/connections.py", line
>>> 36, in defaulterrorhandler
>>> raise errorclass, errorvalue
>>> IntegrityError: (1062, "Duplicate entry '1701871-1' for key
>>> 'reviews_reviewrequest_b8c24015'")
>>> Traceback (most recent call last):
>>> File "/usr/bin/rb-site", line 9, in <module>
>>> load_entry_point('ReviewBoard==2.5.16', 'console_scripts',
>>> 'rb-site')()
>>> File "/usr/lib/python2.7/site-packages/reviewboard/cmdline/rbsite.py",
>>> line 1964, in main
>>> command.run()
>>> File "/usr/lib/python2.7/site-packages/reviewboard/cmdline/rbsite.py",
>>> line 1884, in run
>>> site.run_manage_command(args[0], args[1:])
>>> File "/usr/lib/python2.7/site-packages/reviewboard/cmdline/rbsite.py",
>>> line 712, in run_manage_command
>>> execute_from_command_line([__file__, cmd] + params)
>>> File
>>> "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line
>>> 399, in execute_from_command_line
>>> utility.execute()
>>> File
>>> "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line
>>> 392, in execute
>>> self.fetch_command(subcommand).run_from_argv(self.argv)
>>> File
>>> "/usr/lib/python2.7/site-packages/django/core/management/base.py", line
>>> 242, in run_from_argv
>>> self.execute(*args, **options.__dict__)
>>> File
>>> "/usr/lib/python2.7/site-packages/django/core/management/base.py", line
>>> 285, in execute
>>> output = self.handle(*args, **options)
>>> File
>>> "/usr/lib/python2.7/site-packages/reviewboard/reviews/management/commands/index.py",
>>>
>>> line 19, in handle
>>> call_command('rebuild_index', interactive=False)
>>> File
>>> "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line
>>> 159, in call_command
>>> return klass.execute(*args, **defaults)
>>> File
>>> "/usr/lib/python2.7/site-packages/django/core/management/base.py", line
>>> 285, in execute
>>> output = self.handle(*args, **options)
>>> File
>>> "/usr/lib/python2.7/site-packages/haystack/management/commands/rebuild_index.py",
>>>
>>> line 26, in handle
>>> call_command('update_index', **options)
>>> File
>>> "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line
>>> 159, in call_command
>>> return klass.execute(*args, **defaults)
>>> File
>>> "/usr/lib/python2.7/site-packages/django/core/management/base.py", line
>>> 285, in execute
>>> output = self.handle(*args, **options)
>>> File
>>> "/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
>>>
>>> line 183, in handle
>>> return super(Command, self).handle(*items, **options)
>>> File
>>> "/usr/lib/python2.7/site-packages/django/core/management/base.py", line
>>> 385, in handle
>>> label_output = self.handle_label(label, **options)
>>> File
>>> "/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
>>>
>>> line 188, in handle_label
>>> self.update_backend(label, using)
>>> File
>>> "/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
>>>
>>> line 233, in update_backend
>>> do_update(backend, index, qs, start, end, total,
>>> verbosity=self.verbosity, commit=self.commit)
>>> File
>>> "/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
>>>
>>> line 96, in do_update
>>> backend.update(index, current_qs, commit=commit)
>>> File
>>> "/usr/lib/python2.7/site-packages/haystack/backends/whoosh_backend.py",
>>> line 196, in update
>>> doc = index.full_prepare(obj)
>>> File "/usr/lib/python2.7/site-packages/haystack/indexes.py", line 212,
>>> in full_prepare
>>> self.prepared_data = self.prepare(obj)
>>> File "/usr/lib/python2.7/site-packages/haystack/indexes.py", line 203,
>>> in prepare
>>> self.prepared_data[field.index_fieldname] = field.prepare(obj)
>>> File "/usr/lib/python2.7/site-packages/haystack/fields.py", line 166,
>>> in prepare
>>> return self.convert(super(CharField, self).prepare(obj))
>>> File "/usr/lib/python2.7/site-packages/haystack/fields.py", line 90,
>>> in prepare
>>> getattr(current_object, attr)
>>> File
>>> "/usr/lib/python2.7/site-packages/reviewboard/reviews/models/review_request.py",
>>>
>>> line 273, in get_commit
>>> commit_id=six.text_type(self.changenum))
>>> File "/usr/lib/python2.7/site-packages/django/db/models/query.py",
>>> line 493, in update
>>> rows = query.get_compiler(self.db).execute_sql(None)
>>> File
>>> "/usr/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line
>>> 980, in execute_sql
>>> cursor = super(SQLUpdateCompiler, self).execute_sql(result_type)
>>> File
>>> "/usr/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line
>>> 786, in execute_sql
>>> cursor.execute(sql, params)
>>> File "/usr/lib/python2.7/site-packages/django/db/backends/util.py",
>>> line 53, in execute
>>> return self.cursor.execute(sql, params)
>>> File "/usr/lib/python2.7/site-packages/django/db/utils.py", line 99,
>>> in __exit__
>>> six.reraise(dj_exc_type, dj_exc_value, traceback)
>>> File "/usr/lib/python2.7/site-packages/django/db/backends/util.py",
>>> line 53, in execute
>>> return self.cursor.execute(sql, params)
>>> File
>>> "/usr/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line
>>> 124, in execute
>>> return self.cursor.execute(query, args)
>>> File "/usr/lib64/python2.7/site-packages/MySQLdb/cursors.py", line
>>> 205, in execute
>>> self.errorhandler(self, exc, value)
>>> File "/usr/lib64/python2.7/site-packages/MySQLdb/connections.py", line
>>> 36, in defaulterrorhandler
>>> raise errorclass, errorvalue
>>> django.db.utils.IntegrityError: (1062, "Duplicate entry '1701871-1' for
>>> key 'reviews_reviewrequest_b8c24015'")
>>>
>>>
>>> The error looks familiar - we had some issue sin the past with duplicate
>>> entries.
>>> The index never used to fail for them though...
>>>
>>> Thanks
>>> Rob
>>>
>>>
>>>
>>> On Monday, 16 October 2017 10:38:52 UTC+1, Christian Hammond wrote:
>>>
>>>> Hi Rob,
>>>>
>>>> I think what's happening is that there's an exception being raised the
>>>> first time this is accessed that is resulting in hasattr failing. One more
>>>> check (I'm about to go to bed so I'll have to follow up in the morning).
>>>>
>>>> Before the "has_attr = ..." line, add:
>>>>
>>>> if attr == 'commit':
>>>> getattr(current_object, attr)
>>>>
>>>> I imagine that's going to result in a new crash, which is good. Show me
>>>> what that says.
>>>>
>>>> Christian
>>>>
>>>
>>>> On Mon, Oct 16, 2017 at 2:09 AM, 'Rob Backhurst' via reviewboard <
>>>> [email protected]> wrote:
>>>>
>>>>> Hi Chris,
>>>>>
>>>>> Certainly seems a bit weird - I appreciate all your efforts so far!.
>>>>> See the out put from the latest index below. If this doesn't tell you
>>>>> anything useful, perhaps we can try (on our test system) removing the
>>>>> review/record that seems to be causing this and re-run the index?
>>>>>
>>>>>
>>>>> ERROR:root:Error updating reviews using default
>>>>> Traceback (most recent call last):
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
>>>>>
>>>>> line 188, in handle_label
>>>>> self.update_backend(label, using)
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
>>>>>
>>>>> line 233, in update_backend
>>>>> do_update(backend, index, qs, start, end, total,
>>>>> verbosity=self.verbosity, commit=self.commit)
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
>>>>>
>>>>> line 96, in do_update
>>>>> backend.update(index, current_qs, commit=commit)
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/haystack/backends/whoosh_backend.py",
>>>>> line 196, in update
>>>>> doc = index.full_prepare(obj)
>>>>> File "/usr/lib/python2.7/site-packages/haystack/indexes.py", line
>>>>> 212, in full_prepare
>>>>> self.prepared_data = self.prepare(obj)
>>>>> File "/usr/lib/python2.7/site-packages/haystack/indexes.py", line
>>>>> 203, in prepare
>>>>> self.prepared_data[field.index_fieldname] = field.prepare(obj)
>>>>> File "/usr/lib/python2.7/site-packages/haystack/fields.py", line
>>>>> 164, in prepare
>>>>> return self.convert(super(CharField, self).prepare(obj))
>>>>> File "/usr/lib/python2.7/site-packages/haystack/fields.py", line 92,
>>>>> in prepare
>>>>> raise SearchFieldError("The model '%s' ('%s' -- %s.%s at %s --
>>>>> %s:%s) does not have a model_attr '%s' (%s -- %s)." %
>>>>> (obj.__class__.__name__, current_object.pk,
>>>>> current_object.__class__.__module__, current_object.__class__.__name__,
>>>>> inspect.getfile(obj.__class__), id(obj), id(current_object), attr,
>>>>> hasattr(current_object, attr), has_attr))
>>>>> SearchFieldError: The model 'ReviewRequest' ('27393' --
>>>>> reviewboard.reviews.models.review_request.ReviewRequest at
>>>>> /usr/lib/python2.7/site-packages/reviewboard/reviews/models/review_request.pyc
>>>>>
>>>>> -- 231638480:231638480) does not have a model_attr 'commit' (True --
>>>>> False).
>>>>> Traceback (most recent call last):
>>>>> File "/usr/bin/rb-site", line 9, in <module>
>>>>> load_entry_point('ReviewBoard==2.5.16', 'console_scripts',
>>>>> 'rb-site')()
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/reviewboard/cmdline/rbsite.py", line
>>>>> 1964, in main
>>>>> command.run()
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/reviewboard/cmdline/rbsite.py", line
>>>>> 1884, in run
>>>>> site.run_manage_command(args[0], args[1:])
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/reviewboard/cmdline/rbsite.py", line
>>>>> 712,
>>>>> in run_manage_command
>>>>> execute_from_command_line([__file__, cmd] + params)
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/django/core/management/__init__.py",
>>>>> line
>>>>> 399, in execute_from_command_line
>>>>> utility.execute()
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/django/core/management/__init__.py",
>>>>> line
>>>>> 392, in execute
>>>>> self.fetch_command(subcommand).run_from_argv(self.argv)
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/django/core/management/base.py", line
>>>>> 242, in run_from_argv
>>>>> self.execute(*args, **options.__dict__)
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/django/core/management/base.py", line
>>>>> 285, in execute
>>>>> output = self.handle(*args, **options)
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/reviewboard/reviews/management/commands/index.py",
>>>>>
>>>>> line 19, in handle
>>>>> call_command('rebuild_index', interactive=False)
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/django/core/management/__init__.py",
>>>>> line
>>>>> 159, in call_command
>>>>> return klass.execute(*args, **defaults)
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/django/core/management/base.py", line
>>>>> 285, in execute
>>>>> output = self.handle(*args, **options)
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/haystack/management/commands/rebuild_index.py",
>>>>>
>>>>> line 26, in handle
>>>>> call_command('update_index', **options)
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/django/core/management/__init__.py",
>>>>> line
>>>>> 159, in call_command
>>>>> return klass.execute(*args, **defaults)
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/django/core/management/base.py", line
>>>>> 285, in execute
>>>>> output = self.handle(*args, **options)
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
>>>>>
>>>>> line 183, in handle
>>>>> return super(Command, self).handle(*items, **options)
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/django/core/management/base.py", line
>>>>> 385, in handle
>>>>> label_output = self.handle_label(label, **options)
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
>>>>>
>>>>> line 188, in handle_label
>>>>> self.update_backend(label, using)
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
>>>>>
>>>>> line 233, in update_backend
>>>>> do_update(backend, index, qs, start, end, total,
>>>>> verbosity=self.verbosity, commit=self.commit)
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/haystack/management/commands/update_index.py",
>>>>>
>>>>> line 96, in do_update
>>>>> backend.update(index, current_qs, commit=commit)
>>>>> File
>>>>> "/usr/lib/python2.7/site-packages/haystack/backends/whoosh_backend.py",
>>>>> line 196, in update
>>>>> doc = index.full_prepare(obj)
>>>>> File "/usr/lib/python2.7/site-packages/haystack/indexes.py", line
>>>>> 212, in full_prepare
>>>>> self.prepared_data = self.prepare(obj)
>>>>> File "/usr/lib/python2.7/site-packages/haystack/indexes.py", line
>>>>> 203, in prepare
>>>>> self.prepared_data[field.index_fieldname] = field.prepare(obj)
>>>>> File "/usr/lib/python2.7/site-packages/haystack/fields.py", line
>>>>> 164, in prepare
>>>>> return self.convert(super(CharField, self).prepare(obj))
>>>>> File "/usr/lib/python2.7/site-packages/haystack/fields.py", line 92,
>>>>> in prepare
>>>>> raise SearchFieldError("The model '%s' ('%s' -- %s.%s at %s --
>>>>> %s:%s) does not have a model_attr '%s' (%s -- %s)." %
>>>>> (obj.__class__.__name__, current_object.pk,
>>>>> current_object.__class__.__module__, current_object.__class__.__name__,
>>>>> inspect.getfile(obj.__class__), id(obj), id(current_object), attr,
>>>>> hasattr(current_object, attr), has_attr))
>>>>> haystack.exceptions.SearchFieldError: The model 'ReviewRequest'
>>>>> ('27393' -- reviewboard.reviews.models.review_request.ReviewRequest at
>>>>> /usr/lib/python2.7/site-packages/reviewboard/reviews/models/review_request.pyc
>>>>>
>>>>> -- 231638480:231638480) does not have a model_attr 'commit' (True --
>>>>> False).
>>>>>
>>>>>
>>>>> Thaks
>>>>> Rob
>>>>>
>>>>>
>>>>>
>>>>> On Monday, 16 October 2017 06:31:25 UTC+1, Christian Hammond wrote:
>>>>>>
>>>>>> Hi Rob,
>>>>>>
>>>>>> At this point, "Gremlins" appear to be the best answer from what I'm
>>>>>> able to see right now. The output in that error is directly
>>>>>> contradicting
>>>>>> the conditional that allows the error to be shown, so something really
>>>>>> bizarre is happening that absolutely should not be able to happen. It's
>>>>>> not
>>>>>> normal.
>>>>>>
>>>>>> There's one last thing I want to see... I don't think it's going to
>>>>>> give me any answers directly, but let's see where this goes.
>>>>>>
>>>>>> Change the code to:
>>>>>>
>>>>>> import inspect
>>>>>> has_attr = hasattr(current_object, attr)
>>>>>> print '%r (%s): %s' % (current_object.__class__,
>>>>>> id(current_object), has_attr)
>>>>>> if not has_attr:
>>>>>> raise SearchFieldError("The model '%s' ('%s' -- %s.%s at %s
>>>>>> -- %s:%s) does not have a model_attr '%s' (%s -- %s)." %
>>>>>> (obj.__class__.__name__, current_object.pk,
>>>>>> current_object.__class__.__module__, current_object.__class__.__name__,
>>>>>> inspect.getfile(obj.__class__), id(obj), id(current_object), attr,
>>>>>> hasattr(current_object, attr), has_attr))
>>>>>>
>>>>>> Christian
>>>>>>
>>>>>> On Fri, Oct 13, 2017 at 2:41 AM, 'Rob Backhurst' via reviewboard <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> No probs - where do we go from here?
>>>>>>>
>>>>>>> Thanks
>>>>>>> Rob
>>>>>>>
>>>>>>> On Thursday, 12 October 2017 19:58:13 UTC+1, Stephen Gallagher wrote:
>>>>>>>>
>>>>>>>> Ok, I just wanted to rule out an easy solution.
>>>>>>>> On Thu, Oct 12, 2017 at 5:47 AM 'Rob Backhurst' via reviewboard <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Just to add, the haystack version shown in the reviewboard shell
>>>>>>>>> is looking better now though.
>>>>>>>>>
>>>>>>>>> >>> import reviewboard
>>>>>>>>> >>> print reviewboard.VERSION
>>>>>>>>> (2, 5, 16, 0, u'final', 0, True)
>>>>>>>>> >>> print reviewboard.__file__
>>>>>>>>> /usr/lib/python2.7/site-packages/reviewboard/__init__.pyc
>>>>>>>>> >>> import haystack
>>>>>>>>> >>> print haystack.__version__
>>>>>>>>> (2, 4, 1)
>>>>>>>>> >>> print haystack.__file__
>>>>>>>>> /usr/lib/python2.7/site-packages/haystack/__init__.pyc
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> Rob
>>>>>>>>>
>>>>>>>>> On Thursday, 12 October 2017 10:41:59 UTC+1, Rob Backhurst wrote:
>>>>>>>>>>
>>>>>>>>>> Hi Stephen,
>>>>>>>>>>
>>>>>>>>>> I've installed that on our test system and re-run the index -
>>>>>>>>>> unfortunately the same problem.
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> Rob
>>>>>>>>>>
>>>>>>>>>> On Wednesday, 11 October 2017 19:21:22 UTC+1, Stephen Gallagher
>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Wed, Oct 11, 2017 at 7:40 AM 'Rob Backhurst' via reviewboard <
>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi Christian,
>>>>>>>>>>>>
>>>>>>>>>>>> Ok, lets hope this can tell you something useful...
>>>>>>>>>>>>
>>>>>>>>>>>> <snip>
>>>>>>>>>>>
>>>>>>>>>>> Rob, I just packaged up Haystack 2.4.1 (and did rudimentary
>>>>>>>>>>> testing to see that ReviewBoard still works). Would you mind
>>>>>>>>>>> installing the
>>>>>>>>>>> RPM at
>>>>>>>>>>> https://bodhi.fedoraproject.org/updates/python-django-haystack-2.4.1-1.el7
>>>>>>>>>>> ,
>>>>>>>>>>> restarting httpd and seeing if that fixes things?
>>>>>>>>>>>
>>>>>>>>>>> I'd like to see if this issue might just already be fixed in the
>>>>>>>>>>> newer release.
>>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>> Supercharge your Review Board with Power Pack:
>>>>>>>>> https://www.reviewboard.org/powerpack/
>>>>>>>>> Want us to host Review Board for you? Check out RBCommons:
>>>>>>>>> https://rbcommons.com/
>>>>>>>>> Happy user? Let us know! https://www.reviewboard.org/users/
>>>>>>>>> ---
>>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>>> Groups "reviewboard" group.
>>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>>> send an email to [email protected].
>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>
>>>>>>>> --
>>>>>>> Supercharge your Review Board with Power Pack:
>>>>>>> https://www.reviewboard.org/powerpack/
>>>>>>> Want us to host Review Board for you? Check out RBCommons:
>>>>>>> https://rbcommons.com/
>>>>>>> Happy user? Let us know! https://www.reviewboard.org/users/
>>>>>>> ---
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "reviewboard" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to [email protected].
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Christian Hammond
>>>>>> President/CEO of Beanbag <https://www.beanbaginc.com/>
>>>>>> Makers of Review Board <https://www.reviewboard.org/>
>>>>>>
>>>>> --
>>>>> Supercharge your Review Board with Power Pack:
>>>>> https://www.reviewboard.org/powerpack/
>>>>> Want us to host Review Board for you? Check out RBCommons:
>>>>> https://rbcommons.com/
>>>>> Happy user? Let us know! <a href="https://www.reviewboard.org/users/"
>>>>> r
>>>>>
>>>>
--
Supercharge your Review Board with Power Pack:
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons:
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
---
You received this message because you are subscribed to the Google Groups
"reviewboard" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.