[
https://issues.apache.org/jira/browse/UNOMI-784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kevan Jahanshahi reassigned UNOMI-784:
--------------------------------------
Assignee: Kevan Jahanshahi
> Timeout on updateByQuery request such as scoring update
> -------------------------------------------------------
>
> Key: UNOMI-784
> URL: https://issues.apache.org/jira/browse/UNOMI-784
> Project: Apache Unomi
> Issue Type: Bug
> Components: unomi(-core)
> Affects Versions: unomi-2.3.0, unomi-1.9.0
> Reporter: Serge Huber
> Assignee: Kevan Jahanshahi
> Priority: Major
> Fix For: unomi-2.4.0
>
>
> As we have refactoring updates that were previously done with scroll queries
> with updateByQueries, on systems with large data set we are now reaching
> timeout while waiting for the updates to complete.
> Here is an example of such an error:
> {code}
> Error while executing in class loader
> java.net.SocketTimeoutException: 30,000 milliseconds timeout on connection
> http-outgoing-296 [ACTIVE]
> at
> org.elasticsearch.client.RestClient.extractAndWrapCause(RestClient.java:773)
> ~[!/:?]
> at
> org.elasticsearch.client.RestClient.performRequest(RestClient.java:218)
> ~[!/:?]
> at
> org.elasticsearch.client.RestClient.performRequest(RestClient.java:205)
> ~[!/:?]
> at
> org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1454)
> ~[!/:?]
> at
> org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1424)
> ~[!/:?]
> at
> org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1394)
> ~[!/:?]
> at
> org.elasticsearch.client.RestHighLevelClient.updateByQuery(RestHighLevelClient.java:554)
> ~[!/:?]
> at
> org.apache.unomi.persistence.elasticsearch.ElasticSearchPersistenceServiceImpl$10.execute(ElasticSearchPersistenceServiceImpl.java:1023)
> ~[!/:?]
> at
> org.apache.unomi.persistence.elasticsearch.ElasticSearchPersistenceServiceImpl$10.execute(ElasticSearchPersistenceServiceImpl.java:1005)
> ~[!/:?]
> at
> org.apache.unomi.persistence.elasticsearch.ElasticSearchPersistenceServiceImpl$InClassLoaderExecute.executeInClassLoader(ElasticSearchPersistenceServiceImpl.java:2267)
> [!/:?]
> at
> org.apache.unomi.persistence.elasticsearch.ElasticSearchPersistenceServiceImpl$InClassLoaderExecute.catchingExecuteInClassLoader(ElasticSearchPersistenceServiceImpl.java:2278)
> [!/:?]
> at
> org.apache.unomi.persistence.elasticsearch.ElasticSearchPersistenceServiceImpl.updateWithQueryAndScript(ElasticSearchPersistenceServiceImpl.java:1050)
> [!/:?]
> at
> org.apache.unomi.persistence.elasticsearch.ElasticSearchPersistenceServiceImpl.updateWithQueryAndStoredScript(ElasticSearchPersistenceServiceImpl.java:1001)
> [!/:?]
> at
> Proxy952471af_195a_464e_aca9_365c7d2c5bac.updateWithQueryAndStoredScript(Unknown
> Source) [?:?]
> at
> org.apache.unomi.services.impl.segments.SegmentServiceImpl.updateExistingProfilesForScoring(SegmentServiceImpl.java:1192)
> [!/:?]
> at
> org.apache.unomi.services.impl.segments.SegmentServiceImpl.recalculatePastEventConditions(SegmentServiceImpl.java:982)
> [!/:?]
> at
> org.apache.unomi.services.impl.segments.SegmentServiceImpl$1.run(SegmentServiceImpl.java:1215)
> [!/:?]
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
> [?:?]
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
> [?:?]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> [?:?]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> [?:?]
> at java.lang.Thread.run(Thread.java:829) [?:?]
> Caused by: java.net.SocketTimeoutException: 30,000 milliseconds timeout on
> connection http-outgoing-296 [ACTIVE]
> at
> org.apache.http.nio.protocol.HttpAsyncRequestExecutor.timeout(HttpAsyncRequestExecutor.java:387)
> ~[?:?]
> at
> org.apache.http.impl.nio.client.InternalIODispatch.onTimeout(InternalIODispatch.java:92)
> ~[?:?]
> at
> org.apache.http.impl.nio.client.InternalIODispatch.onTimeout(InternalIODispatch.java:39)
> ~[?:?]
> at
> org.apache.http.impl.nio.reactor.AbstractIODispatch.timeout(AbstractIODispatch.java:175)
> ~[?:?]
> at
> org.apache.http.impl.nio.reactor.BaseIOReactor.sessionTimedOut(BaseIOReactor.java:263)
> ~[?:?]
> at
> org.apache.http.impl.nio.reactor.AbstractIOReactor.timeoutCheck(AbstractIOReactor.java:492)
> ~[?:?]
> at
> org.apache.http.impl.nio.reactor.BaseIOReactor.validate(BaseIOReactor.java:213)
> ~[?:?]
> at
> org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:280)
> ~[?:?]
> at
> org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
> ~[?:?]
> at
> org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:591)
> ~[?:?]
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)