Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Fix for EDC Crash Triggered by Catalog Request” #797

Open
2 tasks
Tracked by #177
ununhexium opened this issue Feb 14, 2024 · 3 comments
Open
2 tasks
Tracked by #177

Implement Fix for EDC Crash Triggered by Catalog Request” #797

ununhexium opened this issue Feb 14, 2024 · 3 comments
Assignees
Labels
kind/bug Something isn't working. The software does not behave as expected or specified. scope/ce sovity's Open Source Community Edition task/analyze Need for investigation

Comments

@ununhexium
Copy link
Collaborator

Bug Report

Description

Unhandled InterruptedException, CancellationException, ExecutionException

java.lang.InterruptedException
	at java.base/java.util.concurrent.CompletableFuture.reportGet(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture.get(Unknown Source)
	at de.sovity.edc.utils.catalog.DspCatalogService.fetchDcatRaw(DspCatalogService.java:47)
	at de.sovity.edc.utils.catalog.DspCatalogService.fetchDcatResponse(DspCatalogService.java:38)
	at de.sovity.edc.utils.catalog.DspCatalogService.fetchDataOffers(DspCatalogService.java:33)
	at de.sovity.edc.ext.wrapper.api.ui.pages.catalog.CatalogApiService.fetchDataOffers(CatalogApiService.java:37)
	at de.sovity.edc.ext.wrapper.api.ui.UiResourceImpl.getCatalogPageDataOffers(UiResourceImpl.java:114)
	at jdk.internal.reflect.GeneratedMethodAccessor115.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:146)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:189)
	at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:93)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:478)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:400)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81)
	at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:261)
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
	at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)
	at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:240)
	at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:697)
	at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:394)
	at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:357)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:311)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:529)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1381)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1303)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:192)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
	at org.eclipse.jetty.server.Server.handle(Server.java:563)
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:505)
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:762)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:497)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:416)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:385)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:272)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(AdaptiveExecutionStrategy.java:140)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149)
	at java.base/java.lang.Thread.run(Unknown Source)

This causes the catalog to not show the content on the web UI.

Expected Behavior

Catch the exception early and return an appropriate HTTP 504 status code.

Observed Behavior

The EDC doesn't crash and the web UI gets a HTTP 504.
The UI shows some message about the request temporarily failing.

Steps to Reproduce

Start the EDC, try to fetch the catalog, after a while, if will stop working.

Possible Implementation and Work Breakdown

Tasks

@ununhexium ununhexium added scope/ce sovity's Open Source Community Edition task/analyze Need for investigation kind/bug Something isn't working. The software does not behave as expected or specified. labels Feb 14, 2024
@ununhexium ununhexium linked a pull request Feb 14, 2024 that will close this issue
@AbdullahMuk AbdullahMuk added the clean-backlog requires backlog cleaning label May 2, 2024
@ununhexium ununhexium removed the clean-backlog requires backlog cleaning label May 29, 2024
@AbdullahMuk AbdullahMuk changed the title Crashing the EDC on catalog request Implement Fix for EDC Crash Triggered by Catalog Request” Jul 10, 2024
@SebastianOpriel
Copy link
Member

@efiege @richardtreier does the error still persist?

@efiege
Copy link
Contributor

efiege commented Oct 21, 2024

There is an outdated PR for this. @ununhexium can this be closed?

@ununhexium
Copy link
Collaborator Author

@efiege
I don't know, I must test this again, see if it's gone. Preferably after the update to 0.7, so I validate this on the new version.
And I will only do that if it comes back in the sprint's prios.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Something isn't working. The software does not behave as expected or specified. scope/ce sovity's Open Source Community Edition task/analyze Need for investigation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants