SSHOC / sshoc-marketplace-backend

Code for the backend
Apache License 2.0
2 stars 0 forks source link

Broken pipe errors #467

Open KlausIllmayer opened 1 day ago

KlausIllmayer commented 1 day ago

I get these errors when I look into the logfiles (the marketplace is running but I'm not sure what causes this problem):

18-09-2024 15:43:23.451 [http-nio-8080-exec-13] DEBUG e.s.m.s.s.query.SearchQueryPhrase.getQueryCriteria - Original query false:
18-09-2024 15:43:24.011 [http-nio-8080-exec-14] ERROR e.s.m.c.MarketplaceExceptionHandler.handleServerException - Server Exception
org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to write: java.io.IOException: Broken pipe
    at org.springframework.web.context.request.async.StandardServletAsyncWebRequest$LifecycleHttpServletResponse.handleIOException(StandardServletAsyncWebRequest.java:320)
    at org.springframework.web.context.request.async.StandardServletAsyncWebRequest$LifecycleServletOutputStream.write(StandardServletAsyncWebRequest.java:378)
    at org.springframework.util.StreamUtils$NonClosingOutputStream.write(StreamUtils.java:261)
    at com.fasterxml.jackson.core.json.UTF8JsonGenerator._flushBuffer(UTF8JsonGenerator.java:2203)
...

@tparkola any ideas about this?

tparkola commented 1 day ago

I think the communication with some external service (from the point of view of the backend) was not possible (e.g. the external service stopped, most probably Solr I think). Are you able to provide more logs (pre and post what you already provided)?

simar0at commented 23 hours ago

We try to get a new log collection system (signoz) running at the moment. Here a CSV that contains some borken pipe errors. log_data.zip @tparkola, I think I can also grant you direct access to this service but it collects a lot of logs. Please contact me if you want to have access.

tparkola commented 17 hours ago

Thanks, it seems there is an issue in the spring framework itself (https://github.com/spring-projects/spring-framework/issues/32509 and https://github.com/spring-projects/spring-framework/issues/33225) - the way this exception is thrown has changed. I think it is not harmful for us, so we can wait for a new feature that should eliminate this behaviour (relevant version should be delivered in upcoming spring boot 3.4, see https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.4.0-M3-Release-Notes and https://github.com/spring-projects/spring-framework/releases/tag/v6.2.0-M7). I suggest to keep this task and assign it to Q1 of 2025. Then we can upgrade spring and check if the issue is solved. Spring boot needs to be upgraded to version 3.4, so that it uses spring framework 6.2 where the feature https://github.com/spring-projects/spring-framework/issues/33225 is implemented.