Hi Christian,

Quick question from our DBA...

-----------------------------------------
what does they mean exactly by 'unset the field' - setting the field to 
null? 
I have checked both commit_id and changenum to identify the fields that 
have duplicate values (select commit_id, count(*) c from 
reviews_reviewrequest group by commit_id having c>1;) There are 12 rows for 
commit_id and 100 for changenum - should we change all of them?
-----------------------------------------

Thanks
Rob

On Friday, 26 May 2017 16:43:21 UTC+1, Rob Backhurst wrote:
>
> Hi Christian,
>
> Thanks for the quick response.
> I'm not particularly comfortable with SQL but i'll ask a colleague if he 
> can help out - i'll let you know.
>
> Thanks
> Rob
>
> On Friday, 26 May 2017 09:24:00 UTC+1, Rob Backhurst wrote:
>>
>> Hi,
>>
>> We have recently upgraded our ReviewBoard from version 1.7.22 to 2.5.10 - 
>> as well as also upgrading from RHEL 6.x to CentOS 7.3.1611.
>> Since then we have a review that cannot be interacted with...can't post a 
>> new review or comment, adjust existing comments etc - or even delete the 
>> review.
>> We get a "HTTP 500 INTERNAL SERVER ERROR" from the browser and the 
>> following error in the ReviewBoard logs:
>>
>> --------------------------------
>>
>> None - admin - /api/review-requests/27393/ - Exception thrown for user admin 
>> at 
>> http://reviews/api/review-requests/27393/?api_format=json&force-text-type=html&include-text-types=raw
>>
>> (1062, "Duplicate entry '1701871-1' for key 
>> 'reviews_reviewrequest_b8c24015'")
>> Traceback (most recent call last):
>>   File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 
>> 112, in get_response
>>     response = wrapped_callback(request, *callback_args, **callback_kwargs)
>>   File "/usr/lib/python2.7/site-packages/django/views/decorators/cache.py", 
>> line 52, in _wrapped_view_func
>>     response = view_func(request, *args, **kwargs)
>>   File "/usr/lib/python2.7/site-packages/django/views/decorators/vary.py", 
>> line 19, in inner_func
>>     response = func(*args, **kwargs)
>>   File "/usr/lib/python2.7/site-packages/djblets/webapi/resources/base.py", 
>> line 196, in __call__
>>     request, method, view, api_format=api_format, *args, **kwargs)
>>   File 
>> "/usr/lib/python2.7/site-packages/djblets/webapi/resources/mixins/api_tokens.py",
>>  line 65, in call_method_view
>>     return view(request, *args, **kwargs)
>>   File "/usr/lib/python2.7/site-packages/djblets/util/decorators.py", line 
>> 75, in _call
>>     f = augmented_func(*args, **kwargs)
>>   File "/usr/lib/python2.7/site-packages/djblets/webapi/decorators.py", line 
>> 122, in _call
>>     return view_func(*args, **kwargs)
>>   File "/usr/lib/python2.7/site-packages/reviewboard/webapi/decorators.py", 
>> line 36, in _check
>>     return view_func(*args, **kwargs)
>>   File "/usr/lib/python2.7/site-packages/djblets/webapi/decorators.py", line 
>> 122, in _call
>>     return view_func(*args, **kwargs)
>>   File "/usr/lib/python2.7/site-packages/reviewboard/webapi/decorators.py", 
>> line 139, in _check
>>     return view_func(*args, **kwargs)
>>   File "/usr/lib/python2.7/site-packages/djblets/util/decorators.py", line 
>> 75, in _call
>>     f = augmented_func(*args, **kwargs)
>>   File "/usr/lib/python2.7/site-packages/djblets/webapi/decorators.py", line 
>> 122, in _call
>>     return view_func(*args, **kwargs)
>>   File "/usr/lib/python2.7/site-packages/djblets/webapi/resources/base.py", 
>> line 488, in get
>>     etag = self.get_etag(request, obj, **kwargs)
>>   File "/usr/lib/python2.7/site-packages/djblets/webapi/resources/base.py", 
>> line 1134, in get_etag
>>     encode_etag=False, **kwargs)
>>   File "/usr/lib/python2.7/site-packages/djblets/webapi/resources/base.py", 
>> line 1162, in generate_etag
>>     etag = repr(self.serialize_object(obj, request=request, **kwargs))
>>   File "/usr/lib/python2.7/site-packages/reviewboard/webapi/mixins.py", line 
>> 60, in serialize_object
>>     obj, *args, **kwargs)
>>   File "/usr/lib/python2.7/site-packages/djblets/webapi/resources/base.py", 
>> line 774, in serialize_object
>>     value = serialize_func(obj, request=request)
>>   File 
>> "/usr/lib/python2.7/site-packages/reviewboard/webapi/resources/review_request.py",
>>  line 561, in serialize_commit_id_field
>>     return obj.commit
>>   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'")
>>
>>
>> --------------------------------
>>
>>
>> I've seen another similar post on this forum but no resolution.  
>> (https://groups.google.com/forum/#!topic/reviewboard/7T9oAFHuLSU)
>>
>> Is there anything we can do here?
>>
>>
>> Thanks
>>
>> Rob
>>
>>
>>

-- 
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 reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to