ereviewboard
ereviewboard copied to clipboard
Error when getting info on repository that's down
Using eReviewBoard 0.13.2, I'm connecting to a ReviewBoard 1.6.11 server with multiple repositories. One of the repositories is down (so the RB server can't connect to it).
In the Task List view, I select New Query, and try to create a ReviewBoard query. But I get the error below. From watching the network traffic, it looks like it's trying to request info for the repository that's down:
http://my-reviewboard-URL/api/repositories/1/info/
If I try to hit that myself, I get a 404:
HTTP/1.1 404 NOT FOUND Date: Mon, 11 Feb 2013 19:19:45 GMT Server: Apache/2.2.22 (Ubuntu) Content-Length: 70 Content-Language: en-us Expires: Mon, 11 Feb 2013 19:19:45 GMT Vary: Accept,Cookie,Accept-Language Last-Modified: Mon, 11 Feb 2013 19:19:45 GMT Cache-Control: max-age=0 Content-Type: application/vnd.reviewboard.org.error+json
{"stat": "fail", "err": {"msg": "Object does not exist", "code": 100}}
A similar thing happens when I try to create a new ReviewBoard request from a project.
Is it possible to fix this so that if it can't get info on a certain repository, it can skip it and move on?
Here's the error:
Problems occurred when invoking code from plug-in: "org.eclipse.jface".
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at org.review_board.ereviewboard.ui.ReviewboardUiUtil.refreshRepositoryData(ReviewboardUiUtil.java:104) at org.review_board.ereviewboard.ui.wizard.ReviewboardQueryPage.updateRepositoryData(ReviewboardQueryPage.java:162) at org.review_board.ereviewboard.ui.wizard.ReviewboardQueryPage.createControl(ReviewboardQueryPage.java:410) at org.eclipse.jface.wizard.Wizard.createPageControls(Wizard.java:174) at org.eclipse.jface.wizard.WizardDialog.createPageControls(WizardDialog.java:736) at org.eclipse.jface.wizard.WizardDialog.setWizard(WizardDialog.java:1182) at org.eclipse.jface.wizard.WizardDialog.updateForPage(WizardDialog.java:1241) at org.eclipse.jface.wizard.WizardDialog.access$4(WizardDialog.java:1238) at org.eclipse.jface.wizard.WizardDialog$8.run(WizardDialog.java:1227) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.jface.wizard.WizardDialog.showPage(WizardDialog.java:1225) at org.eclipse.mylyn.internal.tasks.ui.wizards.SelectRepositoryPage$5.open(SelectRepositoryPage.java:254) at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:866) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175) at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:864) at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1152) at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1256) at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:275) at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:269) at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:309) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4134) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1458) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1481) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1271) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3980) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3619) at org.eclipse.jface.window.Window.runEventLoop(Window.java:825) at org.eclipse.jface.window.Window.open(Window.java:801) at org.eclipse.mylyn.internal.tasks.ui.actions.NewQueryAction.run(NewQueryAction.java:92) at org.eclipse.mylyn.internal.tasks.ui.actions.NewQueryAction.run(NewQueryAction.java:55) at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4134) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1458) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1481) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1271) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3980) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3619) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1029) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:923) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) at org.eclipse.equinox.launcher.Main.run(Main.java:1438) Caused by: java.lang.reflect.InvocationTargetException at org.review_board.ereviewboard.ui.ReviewboardUiUtil$1.run(ReviewboardUiUtil.java:94) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121) Caused by: org.review_board.ereviewboard.core.exception.ReviewboardApiException: There was an error fetching extended information for this repository at org.review_board.ereviewboard.core.client.RestfulReviewboardReader.checkedGetJSonRootObject(RestfulReviewboardReader.java:111) at org.review_board.ereviewboard.core.client.RestfulReviewboardReader.readRepositoryInfo(RestfulReviewboardReader.java:294) at org.review_board.ereviewboard.core.client.RestfulReviewboardClient.loadRepositoryInfo(RestfulReviewboardClient.java:247) at org.review_board.ereviewboard.core.client.RestfulReviewboardClient.updateRepositoryData(RestfulReviewboardClient.java:437) at org.review_board.ereviewboard.ui.ReviewboardUiUtil$1.run(ReviewboardUiUtil.java:92) ... 1 more
Can you add the listing of http://my-reviewboard-URL/api/repositories/ ( sensitive information removed ) ?
Unfortunately I already deleted the misbehaving repository. It was a SVN repository pointing to a remote server, but that server was no longer reachable from the ReviewBoard machine.
Then let me know if this happens again, and I'll try to get to the root cause.
I hit this issue recently.. here is the output of http://my-reviewboard-URL/api/repositories/ with my org replaced with a dummy org name. I am running behind a proxy and initially I suspected unqualified SVN repository names (inside my org) in this result trying to go via proxy. But even after I added these unqualified names to my proxy bypass list, issue remains the same. The exception is exactly what is stated in first update.
<?xml version="1.0" encoding="utf-8"?> <rsp> <total_results>394</total_results> <stat>ok</stat> <repositories> <array> <item> <path>httpx://view.svn.sourceforge.net/svnroot/view/</path> <tool>Subversion</tool> <id>7</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/7/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/7/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/7/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/7/</href> <method>DELETE</method> </delete> </links> <name>libview</name> </item> <item> <path>http://qls-svn/repositories/vs-o</path> <tool>Subversion</tool> <id>15</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/15/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/15/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/15/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/15/</href> <method>DELETE</method> </delete> </links> <name>qls-svn</name> </item> <item> <path>http://build-svn.myorg.com/svn/dummy</path> <tool>Subversion</tool> <id>16</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/16/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/16/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/16/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/16/</href> <method>DELETE</method> </delete> </links> <name>DUMMY</name> </item> <item> <path>http://qls-svn/repositories/o11n</path> <tool>Subversion</tool> <id>27</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/27/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/27/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/27/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/27/</href> <method>DELETE</method> </delete> </links> <name>qls-svn-o11n</name> </item> <item> <path>http://tlv-svn.myorg.com/repository</path> <tool>Subversion</tool> <id>29</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/29/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/29/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/29/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/29/</href> <method>DELETE</method> </delete> </links> <name>dummy svn</name> </item> <item> <path>http://qls-svn/repositories/o11n2</path> <tool>Subversion</tool> <id>30</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/30/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/30/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/30/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/30/</href> <method>DELETE</method> </delete> </links> <name>qls-svn-o11n2</name> </item> <item> <path>http://qls-svn/repositories/projects</path> <tool>Subversion</tool> <id>42</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/42/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/42/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/42/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/42/</href> <method>DELETE</method> </delete> </links> <name>qls-svn-projects</name> </item> <item> <path>http://build-svn.myorg.com/svn/adm</path> <tool>Subversion</tool> <id>35</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/35/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/35/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/35/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/35/</href> <method>DELETE</method> </delete> </links> <name>tlv-svn1.myorg.com_18080_adm</name> </item> <item> <path>https://insydsvn02/svn/ISM-V9/V9.0</path> <tool>Subversion</tool> <id>36</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/36/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/36/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/36/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/36/</href> <method>DELETE</method> </delete> </links> <name>insydsvn02 (VSM 9.0)</name> </item> <item> <path>http://qls-svn/repositories/o11n-sdk</path> <tool>Subversion</tool> <id>68</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/68/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/68/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/68/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/68/</href> <method>DELETE</method> </delete> </links> <name>qls-svn-o11n-sdk</name> </item> <item> <path>http://qls-svn/repositories/plugins</path> <tool>Subversion</tool> <id>128</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/128/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/128/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/128/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/128/</href> <method>DELETE</method> </delete> </links> <name>qls-svn-plugins</name> </item> <item> <path>http://build-svn.myorg.com/svn/itfm</path> <tool>Subversion</tool> <id>274</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/274/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/274/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/274/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/274/</href> <method>DELETE</method> </delete> </links> <name>build_svn_itfm</name> </item> <item> <path>perforce-viper.myorg.com:1917</path> <tool>Perforce</tool> <id>24</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/24/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/24/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/24/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/24/</href> <method>DELETE</method> </delete> </links> <name>perforce-viper:1917 - ESX one-off hotfix branch server</name> </item> <item> <path>perforce-moose.myorg.com:40010</path> <tool>Perforce</tool> <id>270</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/270/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/270/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/270/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/270/</href> <method>DELETE</method> </delete> </links> <name>perforce-moose:4001</name> </item> <item> <path>git://git.springsource.com/napa/napa.git</path> <tool>Git</tool> <id>66</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/66/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/66/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/66/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/66/</href> <method>DELETE</method> </delete> </links> <name>springsource napa</name> </item> <item> <path>[email protected]:/asg_vblob_northbound.git</path> <tool>Git</tool> <id>387</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/387/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/387/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/387/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/387/</href> <method>DELETE</method> </delete> </links> <name>asg_vblob_northbound</name> </item> <item> <path>[email protected]:/asg_vblob_southbound.git</path> <tool>Git</tool> <id>388</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/388/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/388/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/388/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/388/</href> <method>DELETE</method> </delete> </links> <name>asg_vblob_southbound</name> </item> <item> <path>git://scm-git.myorg.com/nobel.git</path> <tool>Git</tool> <id>43</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/43/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/43/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/43/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/43/</href> <method>DELETE</method> </delete> </links> <name>nobel</name> </item> <item> <path>[email protected]:/vos.git</path> <tool>Git</tool> <id>44</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/44/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/44/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/44/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/44/</href> <method>DELETE</method> </delete> </links> <name>VOS</name> </item> <item> <path>[email protected]:/sfcb.git</path> <tool>Git</tool> <id>45</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/45/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/45/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/45/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/45/</href> <method>DELETE</method> </delete> </links> <name>VOS SFCB</name> </item> <item> <path>[email protected]:/glib.git</path> <tool>Git</tool> <id>46</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/46/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/46/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/46/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/46/</href> <method>DELETE</method> </delete> </links> <name>VOS GLIB</name> </item> <item> <path>[email protected]:/openwsman.git</path> <tool>Git</tool> <id>47</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/47/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/47/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/47/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/47/</href> <method>DELETE</method> </delete> </links> <name>VOS OpenWsman</name> </item> <item> <path>[email protected]:/omc/base.git</path> <tool>Git</tool> <id>48</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/48/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/48/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/48/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/48/</href> <method>DELETE</method> </delete> </links> <name>VOS OMC Base</name> </item> <item> <path>[email protected]:/cmpi.git</path> <tool>Git</tool> <id>54</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/54/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/54/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/54/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/54/</href> <method>DELETE</method> </delete> </links> <name>VOS CMPI</name> </item> <item> <path>[email protected]:/omc/smash.git</path> <tool>Git</tool> <id>49</id> <links> <info> <href>https://reviewboard.myorg.com/api/repositories/49/info/</href> <method>GET</method> </info> <self> <href>https://reviewboard.myorg.com/api/repositories/49/</href> <method>GET</method> </self> <update> <href>https://reviewboard.myorg.com/api/repositories/49/</href> <method>PUT</method> </update> <delete> <href>https://reviewboard.myorg.com/api/repositories/49/</href> <method>DELETE</method> </delete> </links> <name>VOS OMC Smash</name> </item> </array> </repositories> <links> <self> <href>https://reviewboard.myorg.com/api/repositories/</href> <method>GET</method> </self> <create> <href>https://reviewboard.myorg.com/api/repositories/</href> <method>POST</method> </create> <next> <href>https://reviewboard.myorg.com/api/repositories/?start=25&max-results=25</href> <method>GET</method> </next> </links> </rsp>
So which of the repositories is down? I think that this error is on the ReviewBoard side though, not in the plugin. If a repository is listed and when I try to access it it fails there's not much I can do about it.
I don't see an open bug in ReviewBoard (currently open API issues ) so I think it's worth raising one and linking it back here.
I am a NooB to reviewboard internals, so at the risk of posing a dumb question, how about ignoring a repository that is down and proceeding with the rest. We might still be able to fetch review requests that are from repositories that are up.
If I do that there might be some problems down the road ... just to clarify, what exactly does "repository that's down" mean? Is it a repository which is added to RB but no longer responding to requests?
Sorry for bringing this back up from dead after more than a year. But to answer your question, yes. A repository that is listed, but not responding. Right now it stops the working of plugin.
I can reproduce this myself by fiddling with the repository. I've asked a question on the reviewboard discussion group: [api] Behaviour of /api/repositories/{repository_id}/info when repository is no longer reachable, let's see what they say before thinking of if and how to fix this issue.