Upgrade from 2.0.19 to 2.0.24 broke older versions of RBTools?

14 views
Skip to first unread message

Alexey Neyman

unread,
Jun 8, 2016, 2:27:26 PM6/8/16
to reviewboard
Hi,

We have just upgraded the ReviewBoard from 2.0.19 to 2.0.24. One of the developers reported the following error after the upgrade - he had RBTools 0.7.2 installed at the time:

>>> Running: svn propget reviewboard:url <SVN URL>
>>> Making HTTP GET request to http://<RBHOST>/api/
>>> Making HTTP GET request to http://<RBHOST>/api/repositories/
>>> Cached response for HTTP GET http://<RBHOST>/api/repositories/ expired and was modified
>>> Making HTTP GET request to http://<RBHOST>/api/repositories/1/info/
>>> Got API Error 210 (HTTP code 500): There was an error fetching extended information for this repository.
>>> Error data: {u'stat': u'fail', u'err': {u'msg': u'There was an error fetching extended information for this repository.', u'code': 210}}
Traceback (most recent call last):
  File "/usr/bin/rbt", line 9, in <module>
    load_entry_point('RBTools==0.7.2', 'console_scripts', 'rbt')()
  File "/usr/lib/python2.6/site-packages/RBTools-0.7.2-py2.6.egg/rbtools/commands/main.py", line 133, in main
    command.run_from_argv([RB_MAIN, command_name] + args)
  File "/usr/lib/python2.6/site-packages/RBTools-0.7.2-py2.6.egg/rbtools/commands/__init__.py", line 555, in run_from_argv
    exit_code = self.main(*args) or 0
  File "/usr/lib/python2.6/site-packages/RBTools-0.7.2-py2.6.egg/rbtools/commands/post.py", line 603, in main
    repository_info = repository_info.find_server_repository_info(api_root)
  File "/usr/lib/python2.6/site-packages/RBTools-0.7.2-py2.6.egg/rbtools/clients/svn.py", line 762, in find_server_repository_info
    info = repository.get_info()
  File "/usr/lib/python2.6/site-packages/RBTools-0.7.2-py2.6.egg/rbtools/api/resource.py", line 146, in <lambda>
    self._get_url(url, **kwargs)))
  File "/usr/lib/python2.6/site-packages/RBTools-0.7.2-py2.6.egg/rbtools/api/decorators.py", line 27, in request_method
    *args, **kwargs)
  File "/usr/lib/python2.6/site-packages/RBTools-0.7.2-py2.6.egg/rbtools/api/transport/sync.py", line 65, in execute_request_method
    return self._execute_request(request)
  File "/usr/lib/python2.6/site-packages/RBTools-0.7.2-py2.6.egg/rbtools/api/transport/sync.py", line 74, in _execute_request
    rsp = self.server.make_request(request)
  File "/usr/lib/python2.6/site-packages/RBTools-0.7.2-py2.6.egg/rbtools/api/request.py", line 536, in make_request
    self.process_error(e.code, e.read())
  File "/usr/lib/python2.6/site-packages/RBTools-0.7.2-py2.6.egg/rbtools/api/request.py", line 509, in process_error
    rsp['err']['msg'])
rbtools.api.errors.APIError: There was an error fetching extended information for this repository. (HTTP 500, API Error 210)


I noted that 0.7.5 (that I had installed) does not even make a GET request to http://<RBHOST>/api/repositories/1/info/ (only http://<RBHOST>/api/repositories/) - so it looks like the implementation of that request (needed for older clients) was broken somewhere between 2.0.19 and 2.0.24.
Upgrading to 0.7.5 solved his issue (0.7.6 had another issue, will report in a separate thread).

Regards,
Alexey.

Christian Hammond

unread,
Jun 9, 2016, 6:54:52 AM6/9/16
to revie...@googlegroups.com
Can you check the Review Board log files? While RBTools did regress the UUID checks, I think the error seen here is actually an error in the process of fetching info from that repository by the server. The Review Board log should have further details.

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


--
-- 
Christian Hammond
President/CEO of Beanbag
Makers of Review Board

Alexey Neyman

unread,
Jun 9, 2016, 3:56:13 PM6/9/16
to revie...@googlegroups.com
I was able to reproduce the issue by just retrieving the URL with wget - it failed intermittently, about 1 in 3 times. However, while I see error 500s in the access_log, there is nothing in the error_log, nor in the RB's log file. Is WSGI concealing the failures? I found this suggestion [http://stackoverflow.com/questions/8007176/500-error-without-anything-in-the-apache-logs] to make the exceptions appear - but after restarting httpd, the failures disappeared (retrieved the URL 30 times successfully without a single failure).

So, let's consider this closed. If it resurfaces later, I'll post an update.

Regards,
Alexey.
You received this message because you are subscribed to a topic in the Google Groups "reviewboard" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/reviewboard/FeIA7r6GUac/unsubscribe.
To unsubscribe from this group and all its topics, send an email to reviewboard...@googlegroups.com.

Christian Hammond

unread,
Jun 11, 2016, 5:41:23 PM6/11/16
to revie...@googlegroups.com
Hey Alexey,

Sounds sort of like the repository itself is returning some bad data, or Review Board is having problems grabbing information from it. We've seen this before on some remote repositories on certain hosting services. Is your repository in-house?

I wouldn't expect WSGI to be concealing the errors in general, if it's anything catchable. What may be happening is that libsvn itself might be crashing when looking up the repository. Hopefully not, but it's a possibility, as it's C code, and is something we've seen happen before in weird circumstances.

Since it's only happening when looking up repository information, that's extremely suspicious.

Christian

-- 
Christian Hammond
President/CEO of Beanbag
Makers of Review Board

Reply all
Reply to author
Forward
0 new messages