Project

General

Profile

Actions

feature request #5209

open

Improve server availability check

Added by Andreas Müller over 8 years ago. Updated almost 4 years ago.

Status:
New
Priority:
Priority14
Assignee:
Category:
taxeditor
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Severity:
normal

Description

Currently if the service is not available (because server restarts or anything else you get the unexpected error messages shown below

We may want to wrap these errors in a nice looking message which is more informative for the user.

Further evaluate server availability during exception evaluation by using services from #7725

We may also think about having a status line icon/label which permanently (every 2-3 seconds) checks the availability of the server (ping) and shows the status (in red if disconnected) so the user knows immediately about it.

These services could be used for the check:

But it might be simpler to just simply ping the server. Maybe HTTP HEAD request is sufficient.

We may also want to have 2 services, one for checking availability of the server (without DB check) and one checking if data can be read from the DB.

see #7725 for the server ping ticket

login : admin
editor version : 3.8.0.201509071706
server :  / edit-test
schema version : 
os : Windows Server 2012 6.2 amd64
java : 1.7.0_75
org.springframework.remoting.RemoteAccessException: Could not access HTTP invoker remote service at [http://test.e-taxonomy.eu:80/cdmserver/edaphobase_test/remoting/group.service]; nested exception is org.apache.commons.httpclient.HttpException: Did not receive successful HTTP response: status code = 503, status message = [Service Unavailable]
    at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.convertHttpInvokerAccessException(HttpInvokerClientInterceptor.java:212)
    at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:145)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at com.sun.proxy.$Proxy32.list(Unknown Source)
    at eu.etaxonomy.taxeditor.ui.dialog.selection.GroupSelectionDialog.initModel(GroupSelectionDialog.java:60)
    at eu.etaxonomy.taxeditor.ui.dialog.selection.AbstractFilteredCdmResourceSelectionDialog.<init>(AbstractFilteredCdmResourceSelectionDialog.java:95)
    at eu.etaxonomy.taxeditor.ui.dialog.selection.GroupSelectionDialog.<init>(GroupSelectionDialog.java:52)
    at eu.etaxonomy.taxeditor.ui.dialog.selection.GroupSelectionDialog.select(GroupSelectionDialog.java:36)
    at eu.etaxonomy.taxeditor.ui.section.user.GroupsByUserDetailSection.createNewElement(GroupsByUserDetailSection.java:48)
    at eu.etaxonomy.taxeditor.ui.section.user.GroupsByUserDetailSection.createNewElement(GroupsByUserDetailSection.java:1)
    at eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection$2.run(AbstractEntityCollectionSection.java:91)
    at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
    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$6.handleEvent(ActionContributionItem.java:452)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
    at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at eu.etaxonomy.taxeditor.Application.start(Application.java:24)
    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:344)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
Caused by: org.apache.commons.httpclient.HttpException: Did not receive successful HTTP response: status code = 503, status message = [Service Unavailable]
    at org.springframework.remoting.httpinvoker.CommonsHttpInvokerRequestExecutor.validateResponse(CommonsHttpInvokerRequestExecutor.java:223)
    at org.springframework.remoting.httpinvoker.CommonsHttpInvokerRequestExecutor.doExecuteRequest(CommonsHttpInvokerRequestExecutor.java:141)
    at eu.etaxonomy.taxeditor.service.CdmServiceRequestExecutor.doExecuteRequest(CdmServiceRequestExecutor.java:51)
    at org.springframework.remoting.httpinvoker.AbstractHttpInvokerRequestExecutor.executeRequest(AbstractHttpInvokerRequestExecutor.java:136)
    at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.executeRequest(HttpInvokerClientInterceptor.java:192)
    at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.executeRequest(HttpInvokerClientInterceptor.java:174)
    at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:142)
    ... 38 more

or

login : admin
editor version : 3.8.0.201509071706
server :  / edit-test
schema version : 
os : Windows Server 2012 6.2 amd64
java : 1.7.0_75
org.springframework.remoting.RemoteAccessException: Could not access HTTP invoker remote service at [http://test.e-taxonomy.eu:80/cdmserver/edaphobase_test/remoting/taxonnode.service]; nested exception is org.apache.commons.httpclient.HttpException: Did not receive successful HTTP response: status code = 404, status message = [Not Found]
    at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.convertHttpInvokerAccessException(HttpInvokerClientInterceptor.java:212)
    at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:145)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at com.sun.proxy.$Proxy29.load(Unknown Source)
    at eu.etaxonomy.taxeditor.editor.TaxonEditorInput.initForTaxonNode(TaxonEditorInput.java:99)
    at eu.etaxonomy.taxeditor.editor.TaxonEditorInput.<init>(TaxonEditorInput.java:79)
    at eu.etaxonomy.taxeditor.editor.TaxonEditorInput.NewInstance(TaxonEditorInput.java:205)
    at eu.etaxonomy.taxeditor.editor.EditorUtil.openTaxonNode(EditorUtil.java:151)
    at eu.etaxonomy.taxeditor.navigation.NavigationUtil.openEditor(NavigationUtil.java:88)
    at eu.etaxonomy.taxeditor.navigation.NavigationUtil.openEditor(NavigationUtil.java:122)
    at eu.etaxonomy.taxeditor.navigation.navigator.handler.EditHandler$1$1.run(EditHandler.java:74)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
    at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at eu.etaxonomy.taxeditor.Application.start(Application.java:24)
    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:344)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
Caused by: org.apache.commons.httpclient.HttpException: Did not receive successful HTTP response: status code = 404, status message = [Not Found]
    at org.springframework.remoting.httpinvoker.CommonsHttpInvokerRequestExecutor.validateResponse(CommonsHttpInvokerRequestExecutor.java:223)
    at org.springframework.remoting.httpinvoker.CommonsHttpInvokerRequestExecutor.doExecuteRequest(CommonsHttpInvokerRequestExecutor.java:141)
    at eu.etaxonomy.taxeditor.service.CdmServiceRequestExecutor.doExecuteRequest(CdmServiceRequestExecutor.java:51)
    at org.springframework.remoting.httpinvoker.AbstractHttpInvokerRequestExecutor.executeRequest(AbstractHttpInvokerRequestExecutor.java:136)
    at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.executeRequest(HttpInvokerClientInterceptor.java:192)
    at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.executeRequest(HttpInvokerClientInterceptor.java:174)
    at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:142)
    ... 34 more

Files

access-failure.png (19.2 KB) access-failure.png Cherian Mathew, 11/26/2015 05:42 PM
connection-failure.png (19.1 KB) connection-failure.png Cherian Mathew, 11/26/2015 05:42 PM

Related issues

Related to EDIT - feature request #6737: Make error message available in "Copy Error"NewKatja Luther

Actions
Has duplicate EDIT - bug #6355: Improve message if server is downDuplicateKatja Luther

Actions
Is duplicate of EDIT - task #6736: Handle server not available user friendlyDuplicateKatja Luther

Actions
Copied to EDIT - feature request #7725: Implement server availability checkNewAndreas Kohlbecker

Actions
Actions #1

Updated by Andreas Müller over 8 years ago

  • Priority changed from New to Highest
Actions #2

Updated by Andreas Müller over 8 years ago

  • Priority changed from Highest to Priority14
Actions #3

Updated by Cherian Mathew over 8 years ago

  • Status changed from New to In Progress

The two main exceptions to handle are

  • RemoteConnectFailureException : for when the connection to the remote server is broken

  • RemoteAccessException : for when the connection is up but there are other (http level) access problems.

r26670 adds a special case for these exception to make them more user-friendly.

RemoteConnectFailureException now results in,

RemoteAccessException now results in,

Actions #4

Updated by Cherian Mathew over 8 years ago

  • Status changed from In Progress to Resolved
  • Assignee changed from c.mathew - to Andreas Müller
Actions #5

Updated by Patrick Plitzner over 5 years ago

  • Has duplicate bug #6355: Improve message if server is down added
Actions #6

Updated by Patrick Plitzner over 5 years ago

  • Is duplicate of task #6736: Handle server not available user friendly added
Actions #7

Updated by Patrick Plitzner over 5 years ago

Actions #8

Updated by Patrick Plitzner over 5 years ago

  • Status changed from Resolved to Duplicate
Actions #9

Updated by Patrick Plitzner over 5 years ago

  • Description updated (diff)
  • Status changed from Duplicate to New
  • Assignee changed from Andreas Müller to Patrick Plitzner
  • Target version changed from Remoting 5.0 to Unassigned CDM tickets

Copied from #6355:

Andreas M.:
"wie schon öfters erwähnt, sollten wir hier ja versuchen, eine nutzerfreundlichere Fehlermeldung anzuzeigen.

Stimmt mein Gefühl, dass das schwierig ist, weil es in allen möglichen Situationen auftreten kann?

Aber ist es nicht möglich, diesen Fehler z.B. in der MessageUtils oder wie die heißt als Querschnittsproblem abzufangen und eine passende Fehlermeldung anzuzeigen.

Ansonsten werden wir uns hier in Zukunft wohl sehr regelmäßig mit diesen Fehlermeldungen der User herumschlagen müssen / und die User werden regelmäßig unzufrieden sein, dass was nicht funktioniert, obwohl lediglich die Verbindung weg ist.

Als Advanced Feature könnten wir auch noch einen Verbindungscheck einbauen ins UI, wenn dieser Fehler angezeigt wird. Damit kann der User selber testen, ob ein generelles Verbindungsproblem vorliegt. Und einiges andere wäre möglich, um den User zu unterstützen (z.B. Link auf die Managementkonsole, wo er sehen kann, dass der Server neustartet, wann er zuletzt neugestartet wurde, den Testbutton klicken kann etc.)."

Actions #10

Updated by Patrick Plitzner over 5 years ago

Copied from #6355:

In the above case the interruption took place during lazy initialization:

login : w.berendsohn
editor version : 4.7.0
server : api.cybertaxonomy.org (cybertaxonomy.org) / caryo_amaranthaceae
schema version : 4.1.0.0.201607300000
os : Windows 7 6.1 amd64
java : 1.8.0_121
org.eclipse.swt.SWTException: Failed to execute runnable (eu.etaxonomy.taxeditor.remoting.CdmEagerLoadingException: org.springframework.remoting.RemoteAccessException: Could not access HTTP invoker remote service at [http://api.cybertaxonomy.org:80/caryo_amaranthaceae/remoting/common.service]; nested exception is org.apache.http.NoHttpResponseException: api.cybertaxonomy.org:80 failed to respond)
                at org.eclipse.swt.SWT.error(SWT.java:4533)
                at org.eclipse.swt.SWT.error(SWT.java:4448)
                at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
                at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4211)
                at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3827)
                at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121)
                at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
                at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
                at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
                at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:693)
                at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
                at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:610)
                at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
                at eu.etaxonomy.taxeditor.Application.start(Application.java:24)
                at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
                at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
                at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
                at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
                at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                at java.lang.reflect.Method.invoke(Unknown Source)
                at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
                at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
                at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
Caused by: eu.etaxonomy.taxeditor.remoting.CdmEagerLoadingException: org.springframework.remoting.RemoteAccessException: Could not access HTTP invoker remote service at [http://api.cybertaxonomy.org:80/caryo_amaranthaceae/remoting/common.service]; nested exception is org.apache.http.NoHttpResponseException: api.cybertaxonomy.org:80 failed to respond
                at org.hibernate.collection.internal.AbstractPersistentCollection.remoteInitialize(AbstractPersistentCollection.java:1358)
                at org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:627)
                at org.hibernate.collection.internal.AbstractPersistentCollection.read(AbstractPersistentCollection.java:167)
                at org.hibernate.collection.internal.AbstractPersistentCollection.readSize(AbstractPersistentCollection.java:184)
                at org.hibernate.collection.internal.PersistentSet.size(PersistentSet.java:143)
                at eu.etaxonomy.taxeditor.ui.section.name.NonViralNameDetailSection.checkForMultipleNameUsages(NonViralNameDetailSection.java:121)
                at eu.etaxonomy.taxeditor.ui.section.name.NonViralNameDetailSection.createToolbar(NonViralNameDetailSection.java:92)
                at eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection.setSectionTitle(AbstractCdmDetailSection.java:158)
                at eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection.setEntity(AbstractCdmDetailSection.java:127)
                at eu.etaxonomy.taxeditor.ui.section.name.NonViralNameDetailSection.setTaxonBase(NonViralNameDetailSection.java:135)
                at eu.etaxonomy.taxeditor.view.detail.CdmSectionPart.setFormInput(CdmSectionPart.java:82)
                at org.eclipse.ui.forms.ManagedForm.setInput(ManagedForm.java:210)
                at eu.etaxonomy.taxeditor.view.AbstractCdmDataViewer.refresh(AbstractCdmDataViewer.java:123)
                at eu.etaxonomy.taxeditor.view.AbstractCdmDataViewer.setInput(AbstractCdmDataViewer.java:109)
                at eu.etaxonomy.taxeditor.view.detail.DetailsViewer.setInput(DetailsViewer.java:161)
                at eu.etaxonomy.taxeditor.view.AbstractCdmViewPart.showViewer(AbstractCdmViewPart.java:118)
                at eu.etaxonomy.taxeditor.view.detail.DetailsViewPart.selectionChanged_internal(DetailsViewPart.java:95)
                at eu.etaxonomy.taxeditor.view.AbstractCdmEditorViewPart$DelaySelection.run(AbstractCdmEditorViewPart.java:52)
                at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
                at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
                ... 23 more
Caused by: org.springframework.remoting.RemoteAccessException: Could not access HTTP invoker remote service at [http://api.cybertaxonomy.org:80/caryo_amaranthaceae/remoting/common.service]; nested exception is org.apache.http.NoHttpResponseException: api.cybertaxonomy.org:80 failed to respond
                at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.convertHttpInvokerAccessException(HttpInvokerClientInterceptor.java:216)
                at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:147)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
                at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
                at com.sun.proxy.$Proxy53.initializeCollection(Unknown Source)
                at eu.etaxonomy.taxeditor.service.CachedCommonServiceImpl.initializeCollection(CachedCommonServiceImpl.java:69)
                at org.hibernate.collection.internal.AbstractPersistentCollection.remoteInitialize(AbstractPersistentCollection.java:1340)
                ... 42 more
Caused by: org.apache.http.NoHttpResponseException: api.cybertaxonomy.org:80 failed to respond
                at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:143)
                at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57)
                at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261)
                at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:165)
                at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:167)
                at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272)
                at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124)
                at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:271)
                at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
                at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
                at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
                at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
                at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
                at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)
                at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
                at org.springframework.remoting.httpinvoker.HttpComponentsHttpInvokerRequestExecutor.executeHttpPost(HttpComponentsHttpInvokerRequestExecutor.java:338)
                at org.springframework.remoting.httpinvoker.HttpComponentsHttpInvokerRequestExecutor.doExecuteRequest(HttpComponentsHttpInvokerRequestExecutor.java:229)
                at eu.etaxonomy.taxeditor.service.CdmServiceRequestExecutor.doExecuteRequest(CdmServiceRequestExecutor.java:61)
                at org.springframework.remoting.httpinvoker.AbstractHttpInvokerRequestExecutor.executeRequest(AbstractHttpInvokerRequestExecutor.java:138)
                at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.executeRequest(HttpInvokerClientInterceptor.java:194)
                at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.executeRequest(HttpInvokerClientInterceptor.java:176)
                at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:144)
                ... 47 more

Actions #11

Updated by Patrick Plitzner over 5 years ago

  • Tracker changed from bug to feature request
  • Subject changed from Handle service not available nicely to Implement/improve server availability check
  • Description updated (diff)
Actions #12

Updated by Patrick Plitzner over 5 years ago

  • Private changed from Yes to No
Actions #13

Updated by Patrick Plitzner over 5 years ago

  • Description updated (diff)
Actions #14

Updated by Andreas Müller over 5 years ago

Shouldn't we split this ticket. This one stays a "how to handle the exception" best ticket.

And then we need a separated (but related) ticket for pinging. The later will be primarily a cdmserver ticket. Once this is ready we need another one for implementing visualization of the ping results in TaxEditor (and maybe also for adding the ping result to the above exception handling, e.g. by running a ping before showing the httpException dialog).

Actions #15

Updated by Andreas Müller over 5 years ago

  • Description updated (diff)
Actions #16

Updated by Patrick Plitzner over 5 years ago

Andreas Müller wrote:

Shouldn't we split this ticket. This one stays a "how to handle the exception" best ticket.

And then we need a separated (but related) ticket for pinging. The later will be primarily a cdmserver ticket. Once this is ready we need another one for implementing visualization of the ping results in TaxEditor (and maybe also for adding the ping result to the above exception handling, e.g. by running a ping before showing the httpException dialog).

We have to ping the cdmserver from the taxeditor. So it cannot be cdmserver ticket, right? The pinging thread has to be run on the taxeditor side.

Anyway, I created a new ticket for the pinging -> #7725

Actions #17

Updated by Patrick Plitzner over 5 years ago

Actions #18

Updated by Patrick Plitzner over 5 years ago

  • Subject changed from Implement/improve server availability check to Improve server availability check
Actions #19

Updated by Patrick Plitzner over 5 years ago

  • Description updated (diff)
Actions #20

Updated by Andreas Müller over 5 years ago

Patrick Plitzner wrote:

Andreas Müller wrote:

Shouldn't we split this ticket. This one stays a "how to handle the exception" best ticket.

And then we need a separated (but related) ticket for pinging. The later will be primarily a cdmserver ticket. Once this is ready we need another one for implementing visualization of the ping results in TaxEditor (and maybe also for adding the ping result to the above exception handling, e.g. by running a ping before showing the httpException dialog).

We have to ping the cdmserver from the taxeditor. So it cannot be cdmserver ticket, right? The pinging thread has to be run on the taxeditor side.

Anyway, I created a new ticket for the pinging -> #7725

No, in first case it needs to be a cdm server ticket as the required service is not yet in place as mentioned above. The 2 existing service are not sufficient.
As I did right we then need another ticket which uses this ping service from within the TaxEditor. Implementing a separate ping thread is probably one part of this task.
Can you please adapt the new ticket accordingly (split in 2, one for CDM server, one for TaxEditor)?

Actions #21

Updated by Andreas Müller over 5 years ago

  • Description updated (diff)
Actions #22

Updated by Andreas Kohlbecker about 4 years ago

  • Tags set to RemoteAccessException
Actions #23

Updated by Andreas Müller almost 4 years ago

  • Assignee changed from Patrick Plitzner to Katja Luther
Actions

Also available in: Atom PDF