BingAds / BingAds-Java-SDK

Other
42 stars 47 forks source link

java.io.IOException: Too many open files #195

Open NicholasLD opened 2 months ago

NicholasLD commented 2 months ago

my environment: JDK Temurin-21.0.3+9 SpringBoot 3.1.7 BingAds SDK Version: 13.0.20.2

Interceptor for {https://bingads.microsoft.com/Billing/v13}CustomerBillingService#{https://bingads.microsoft.com/Billing/v13}SearchInsertionOrders has thrown exception, unwinding now java.io.UncheckedIOException: java.io.IOException: Too many open files at java.net.http/jdk.internal.net.http.HttpClientImpl.<init>(HttpClientImpl.java:506) at java.net.http/jdk.internal.net.http.HttpClientImpl.create(HttpClientImpl.java:434) at java.net.http/jdk.internal.net.http.HttpClientBuilderImpl.build(HttpClientBuilderImpl.java:143) at org.apache.cxf.transport.http.HttpClientHTTPConduit.setupConnection(HttpClientHTTPConduit.java:231) at org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:529) at org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:47) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307) at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:528) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:439) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:354) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:312) at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96) at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:140) at jdk.proxy2/jdk.proxy2.$Proxy289.searchInsertionOrders(Unknown Source) at org.xxx.ads.bing.BingBillingService.searchInsertionOrders(BingBillingService.java:39) at org.xxx.xxx.job.FetchTodayPerformanceProcessor.lambda$process$4(FetchTodayPerformanceProcessor.java:78) at java.base/java.lang.Thread.run(Thread.java:1583) Caused by: java.io.IOException: Too many open files at java.base/sun.nio.ch.EPoll.create(Native Method) at java.base/sun.nio.ch.EPollSelectorImpl.<init>(EPollSelectorImpl.java:79) at java.base/sun.nio.ch.EPollSelectorProvider.openSelector(EPollSelectorProvider.java:36) at java.base/java.nio.channels.Selector.open(Selector.java:295) at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.<init>(HttpClientImpl.java:1122) at java.net.http/jdk.internal.net.http.HttpClientImpl.<init>(HttpClientImpl.java:503) ... 16 common frames omitted

As I was debugging the program and looking through the articles, I found that it would not release the HTTP Connection.

such as: https://stackoverflow.com/questions/26403674/apache-cxf-not-releasing-clients

Is there a solution to avoid this problem or release a new update to fix it?

quangkevin commented 1 month ago

Any update on this issue?