Details
-
Bug
-
Status: Closed (View Workflow)
-
P2
-
Resolution: Done
-
None
-
None
-
ACQ Sprint 125
-
2
-
Thunderjet
-
R3 2021 Bug Fix
Description
Purpose/Overview:
The issue was discovered after invoice approval failed. Retrieving exchane rate data for the first time after module deployment finishes with exceptions:
Sep 23, 2021 1:25:04 PM org.javamoney.moneta.internal.loader.LoadableResource load INFO: Failed to load resource input for IMFRateProvider from https://www.imf.org/external/np/fin/data/rms_five.aspx?tsvflag=Y java.net.SocketTimeoutException: Read timed out at java.base/java.net.SocketInputStream.socketRead0(Native Method) at java.base/java.net.SocketInputStream.socketRead(SocketInputStream.java:115) at java.base/java.net.SocketInputStream.read(SocketInputStream.java:168) at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140) at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:478) at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:472) at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:70) at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1364) at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:973) at java.base/java.io.BufferedInputStream.fill(BufferedInputStream.java:252) at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:292) at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:351) at java.base/sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:754) at java.base/sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:689) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1615) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:250) at org.javamoney.moneta.internal.loader.LoadableResource.load(LoadableResource.java:347) at org.javamoney.moneta.internal.loader.LoadableResource.loadRemote(LoadableResource.java:228) at org.javamoney.moneta.internal.loader.LoadableResource.shouldReadDataFromFallback(LoadableResource.java:154) at org.javamoney.moneta.internal.loader.LoadableResource.getData(LoadableResource.java:394) at org.javamoney.moneta.internal.loader.LoadableResource.getDataStream(LoadableResource.java:208) at org.javamoney.moneta.internal.loader.LoadRemoteDataLoaderService.execute(LoadRemoteDataLoaderService.java:40) at org.javamoney.moneta.internal.loader.DefaultLoaderServiceFacade.loadDataRemote(DefaultLoaderServiceFacade.java:51) at org.javamoney.moneta.internal.loader.DefaultLoaderService.registerData(DefaultLoaderService.java:165) at org.javamoney.moneta.internal.loader.LoaderConfigurator.initResource(LoaderConfigurator.java:92) at org.javamoney.moneta.internal.loader.LoaderConfigurator.load(LoaderConfigurator.java:59) at org.javamoney.moneta.internal.loader.DefaultLoaderService.initialize(DefaultLoaderService.java:101) at org.javamoney.moneta.internal.loader.DefaultLoaderService.<init>(DefaultLoaderService.java:85) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:780) at java.base/java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:722) at java.base/java.util.ServiceLoader$3.next(ServiceLoader.java:1395) at org.javamoney.moneta.internal.PriorityAwareServiceProvider.loadServices(PriorityAwareServiceProvider.java:98) at org.javamoney.moneta.internal.PriorityAwareServiceProvider.getServices(PriorityAwareServiceProvider.java:65) at javax.money.spi.Bootstrap.getService(Bootstrap.java:113) at org.javamoney.moneta.convert.imf.IMFRateProvider.<init>(IMFRateProvider.java:59) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:780) at java.base/java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:722) at java.base/java.util.ServiceLoader$3.next(ServiceLoader.java:1395) at org.javamoney.moneta.internal.PriorityAwareServiceProvider.loadServices(PriorityAwareServiceProvider.java:98) at org.javamoney.moneta.internal.PriorityAwareServiceProvider.getServices(PriorityAwareServiceProvider.java:65) at javax.money.spi.Bootstrap.getServices(Bootstrap.java:102) at org.javamoney.moneta.convert.internal.DefaultMonetaryConversionsSingletonSpi.reload(DefaultMonetaryConversionsSingletonSpi.java:64) at org.javamoney.moneta.convert.internal.DefaultMonetaryConversionsSingletonSpi.<init>(DefaultMonetaryConversionsSingletonSpi.java:56) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:780) at java.base/java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:722) at java.base/java.util.ServiceLoader$3.next(ServiceLoader.java:1395) at org.javamoney.moneta.internal.PriorityAwareServiceProvider.loadServices(PriorityAwareServiceProvider.java:98) at org.javamoney.moneta.internal.PriorityAwareServiceProvider.getServices(PriorityAwareServiceProvider.java:65) at javax.money.spi.Bootstrap.getService(Bootstrap.java:113) at javax.money.convert.MonetaryConversions.getMonetaryConversionsSpi(MonetaryConversions.java:59) at javax.money.convert.MonetaryConversions.getExchangeRateProvider(MonetaryConversions.java:169) at javax.money.convert.MonetaryConversions.getExchangeRateProvider(MonetaryConversions.java:197) at org.folio.rest.helper.ExchangeRateHelper.getExchangeRate(ExchangeRateHelper.java:21) at org.folio.rest.impl.ExchangeRateApi.lambda$0(ExchangeRateApi.java:24) at org.folio.completablefuture.FolioVertxCompletableFuture.lambda$supplyBlockingAsync$7(FolioVertxCompletableFuture.java:163) at io.vertx.core.impl.ContextImpl.lambda$null$0(ContextImpl.java:160) at io.vertx.core.impl.AbstractContext.dispatch(AbstractContext.java:96) at io.vertx.core.impl.ContextImpl.lambda$executeBlocking$1(ContextImpl.java:158) at io.vertx.core.impl.TaskQueue.run(TaskQueue.java:76) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:829)
This issue causes response timeout on UI side, so it makes user think that invoice approval totally failed, but its not.
Acceptance criteria:
- the issue fixed
TestRail: Results
Attachments
Issue Links
- blocks
-
MODFIN-218 MODFIN(mod-finance) R3 Bugfix release
-
- Closed
-
- defines
-
UXPROD-3061 Thunderjet - R3 Enhancements/Bugfixes
-
- Closed
-