Serge Huber created UNOMI-784:
---------------------------------

             Summary: 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-1.9.0, unomi-2.3.0
            Reporter: Serge Huber
             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)

Reply via email to