0

My web app uses angularjs for frontend, spring for backend, websphere 8 as app server.

I am trying to submit a request which required to process large amount of data from excel. As a result, the process takes more than 35 minutes while saving into database and the request failed at 15 minutes based on the browser developer tool.

browser_request_failed_15mins

From the frontend, it reported as internal server error 500, unable to complete the request and failed at 15 mins. From the backend log, it is still processing and done after 35 minutes, unable to return response to frontend.

I unable to identify where is this 15 mins from. I wanted to extend this config to 3000seconds.

Following are my attempts,

1st attempt: I tried to extend the transactionManager's timeout to 3000s, and the issue remains.

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
   <property name="entityManagerFactory" ref="entityManagerFactory" />
   <property name="defaultTimeout" value="3000">
</bean>

2nd attempt: I also tried to configure on websphere based on this:

https://techdocs.broadcom.com/content/broadcom/techdocs/us/en/ca-enterprise-software/layer7-identity-and-access-management/identity-manager/14-2/reference/performance-tuning/performance-tuning-for-websphere.html

section: Transaction Service Timeouts Configurations and sadly, the issue still remains.

3rd attempt: I added a timeout for angularjs http request. ref https://docs.angularjs.org/api/ng/service/$http#$http-arguments and the issue still remains.

4th attempt: I altered timeout limit on browser IE based on this Increase timeout limit in Google Chrome and the request still failed at 15mins

Can anyone tell me where to config this 15 mins?

terencefung
  • 167
  • 1
  • 2
  • 14
  • You need to rearchitect your solution. Nobody will wait 30 minutes with open Http connection. It maybe closed on several different layers (browser, os, firewal etc). Submit your excel, and process it async way for example via MDB and then query for results. – Gas Aug 07 '20 at 07:30
  • Dear @Gas, thanks for your input. I can totally understand. I did suggest multithread and limit data projection which can improve the whole process from 35mins to less than 1 mins. However, my client believes the data will increase and eventually break the 15mins limit again. Thus, suggesting to extend that 15mins instead of multithread. The world is big, there are people willing to even wait over 1hrs rather than improving the process. Hope you can understand... the world is big... (cry of a broken developer, T~T) – terencefung Aug 12 '20 at 04:09

0 Answers0