Hi Christian,

This is from our DBA...

----

ok, in that case we either have no problematic dupes or we are not sure how 
to find them. All dupes mentioned before have same changenum but different 
repository_id.. All items returned by executing below code have different 
repository_id:

“select a.id, a.status, a.public, a.changenum, a.repository_id, 
b.totalCount AS no_of_duplicate

from reviews_reviewrequest a

       inner join  ( SELECT  changenum, COUNT(*) totalCount FROM    
reviews_reviewrequest GROUP   BY changenum) b ON a.changenum = b.changenum

        WHERE   b.totalCount >= 2  order by  a.changenum desc”

There will be items with exactly same ‘status’ and/or ‘public’ values, 
there will be some dupes where those are different but in all cases 
repository_id differs between the dupes on changenum column..  Are you able 
to point us in right direction in order to identify the problematic dupes 
(or other issue that might be causing the problem) ?
---

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