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)